ServerMultiServerSetup - festivaldev/Paradise GitHub Wiki
Paradise supports creating a multi-server setup, with each server connecting to the same master server. You can either connect your server to the official Paradise master server or host your servers in multiple regions and connect them to your own master server. This multi-server setup is a fancy way to say that your Game server (the one that runs all the gameplay logic) uses the same player data as every other sever connected to the same master server.
Please note that only multiple Game servers are supported at the same time. The master server can only provide one Comm server at a time, but multiple Game servers.
To connect to the official Paradise master server, you first need to request access in the Paradise Discord server in the #server-requests
channel. If your request is approved, you will be provided a server GUID and passphrase that will allow your server to connect. These credentials need to be added to your Paradise.Realtime.xml
:
<GameApplicationSettings>
<ApplicationIdentifier>00000000-0000-0000-0000-000000000000</ApplicationIdentifier>
<EncryptionPassPhrase>0123456789abcdef</EncryptionPassPhrase>
</GameApplicationSettings>
Next, it is recommended to disable the Comm server, as it will not be used in this setup. To do this, open the PhotonServer.config
file in the photon
directory. In there, wrap the UDPListener
node with the attribute OverrideApplication="Paradise.Realtime.Comm"
inside an XML comment (<!-- ... -->
). Do the same with the Application
node for Paradise.Realtime.Comm
below.
Now, head back to Paradise.Realtime.xml
. Set the following values:
Key | Value |
---|---|
MasterServerUrl |
https://paradise.festival.tf |
WebServicePort |
5053 |
FileServerPort |
5054 |
TCPCommPort |
5055 |
Restart the Realtime application and observe the logs. If everything went well, you should see the text CONNECTED TO SOCKET
appear in the logs.
The procedure to connect to your own master server is basically the same as connecting to the Paradise master server. However, you need to generate your own credentials to connect.
To generate server credentials, run the command server generate
in the Web Services console. The resulting GUID and passphrase then need to be added to Paradise.Settings.WebServices.xml
like this:
<ServerPassPhrases>
<ServerPassPhrase Id="00000000-0000-0000-0000-000000000000">0123456789abcdef</ServerPassPhrase>
</ServerPassPhrases>
The Web Services should automatically detect the changes and reload the file. If it doesn't, you can simply restart the Web Services application yourself.
After that, just follow the instructions for connecting to the Paradise master server, sans requesting credentials in the Discord server, of course. The values to set in Paradise.Realtime.xml
also need to be adapted to your specific infrastructure.