ServerSetup - festivaldev/Paradise GitHub Wiki

Server Setup

:information_source: These instructions are for server hosts only. If you're just here to play UberStrike, you can safely ignore these instructions.

Requirements

Installation

Using the Installer

  • Download the latest Server release (Windows only)
  • Run the installer
    • The installer will automatically download the Photon OnPremise Server SDK and extract it to the server's installation directory
    • If you want to run the Paradise servers in the background, select "Setup Windows Services". This will also start the servers automatically after installation and everytime the system boots.
    • The installer automatically adds firewall rules for ports 8080, 8081, 8082, 5055 and 5155 (if selected). If you decide to change these ports in your server configuration, please remember to update these rules accordingly.

Manual Installation

  • Download the latest Server release (Windows only) and extract it to a directory of your choice.
  • Download and extract the Photon OnPremise Server SDK to a directory of your choice.
    • The SDK is a self-extracting 7-Zip archive that can also be extracted by opening the file within 7-Zip itself instead of running the .exe.
  • Due to legal reasons, some assembly files cannot be shipped with Paradise, so you'll need to do copy them in order to run the server. For that, you have two options:
    • Option 1: Run InstallDependencies.bat
      • The script will ask you for UberStrike and Photon directories and will automatically copy each required assembly in the correct path for you.
    • Option 2: Manually copying the required assemblies. Just make sure to closely follow these instructions or your server won't start.
      • Paradise.Realtime requires the following assemblies to be copied into the bin folder
        • <path to Photon>/Photon-OnPremise-Server-SDK_v4-0-29-11263/lib/
          • ExitGames.Logging.Log4Net.dll
          • ExitGamesLibs.dll
          • Photon.SocketServer.dll
          • UnityEngine.dll
      • Paradise.WebServices requires the following assemblies to be copied into its root folder
        • <path to Photon>/Photon-OnPremise-Server-SDK_v4-0-29-11263/lib/
          • UnityEngine.dll
  • Copy the contents of <path to Photon>/Photon-OnPremise-Server-SDK_v4-0-29-11263/deploy/bin_Win64/ into the photon directory.
    • If you're running a 32-bit system, copy the contents of bin_Win32 instead.
    • Optional: If you have a Photon license, you may copy it into the photon directory. If you do not add any license, you will be limited to 20 CCU, which is effectively 10 players as each player requires a connection to both the Comm and the Game server.
  • Copy the PhotonServer.config from Paradise into the photon directory, overwriting the existing file if it asks you to.
  • Run Paradise.WebServices\Paradise.WebServices.exe
    • As a console application: Run the executable without any launch parameters
    • As a Windows service: Run the executable with the --install launch parameter to install as a service. The service will be automatically started after installation and after starting Windows
      • Use --uninstall to uninstall the service if installed.
      • Start or stop the service manually using Task Manager or services.msc
    • As a tray application: Run the executable using the --tray launch parameter
      • A UberStrike icon will appear in your system tray, allowing you to control each individual service, the file server (used for map icons and client updates) and the database connection.
        Please note that running the tray application requires Paradise to be already running in either Service or Console mode. See Tray Application for more details.

Firewall

If you're wondering why you and anybody else is unable to join your server from the outside, it's probably because of the Firewall, which blocks incoming connections by default. To allow players from outside to connect to your Paradise server, you'll need to add two Inbound Rules to your Firewall.
Open Windows Defender Firewall with Advanced Security, select Inbound Rules and click New Rule. You'll need two rules:

For TCP Connections:

  • Rule Type: Port
  • Protocol: TCP
  • Specific local ports: 8080, 8081, 8082 (or substitute with the ports you're using for Paradise.WebServices)
  • Allow the connection
  • Profile: Private & Public
  • Name: Paradise.WebServices or any other name, description is optional

For UDP Connections:

  • Rule Type: Port
  • Protocol: UDP
  • Specific local ports: 5055, 5155 (or substitute with the ports you're using for Paradise.Realtime)
  • Allow the connection
  • Profile: Private & Public
  • Name: Paradise.Realtime or any other name, description is optional

To apply these settings, you may need to temporarily disable the firewall (within both the Private and Public profiles) and switch it back on again, or alternatively reboot your machine.

HTTPS/SSL

By default, HTTPS support in Paradise is disabled. To ensure the security of your player's data, it is highly recommended to set up SSL for your server. Please see HTTPS/SSL for instructions on how to set up SSL.