Mppm

Dependencies

We may recommend using asdf to install dependencies. It allows you to install and manage various versions of most common runtimes, as well as to pinpoint specific version of it for any paths.

System

As of now, the application is strictly developed on CentOS 7. However it should work on any Linux distribution.

Erlang/Elixir

Prerequisites

Config

After copying the *.exs.dist files into *.dist, make the following changes:

config.exs

(dev|prod).exs

(dev|prod).secret.exs

Once everything is installed, you're good to start MPPM:

Now you can visit localhost:4000 from your browser.

Ready to run in production? Please check our deployment guides.

Elixir / Phoenix resources

Game server message broker

A broker is made up of one supervisor (Mppm.Broker.Supervisor) and two GenServers:

The Supervisor is started after game server launch, once it opened its ports. The ReceiverServer then opens the connection and provides a call method so that the RequesterServer can retrieve the open port. Everything's stopped on server shutdown.

This design choice hase been made to allow either the receiving or requesting part of the broker to be able to independently fail without impeding its counterpart.

PubSub Topics

* > server login

"players-status"

"maps-status"

"race-status"

"server-status:*"

"broker-status:*"

"ruleset-status"