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
- .NET Framework 4.8
- UberStrike for required assemblies
- Photon OnPremise Server SDK v4.0.29-11263
- photonengine.com (requires a free user account to download)
- archive.org
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
and5155
(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
.
- 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
- 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
- Paradise.Realtime requires the following assemblies to be copied into the
- Option 1: Run
- Copy the contents of
<path to Photon>/Photon-OnPremise-Server-SDK_v4-0-29-11263/deploy/bin_Win64/
into thephoton
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.
- If you're running a 32-bit system, copy the contents of
- Copy the
PhotonServer.config
from Paradise into thephoton
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
- Use
- 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.
- 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.
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 forParadise.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 forParadise.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.