You should have the ability to host and run a Dinogen Online multiplayer server.
Read the custom server guide for more details: https://dinogenonline.com/multiplayer-server-guide/
Server Management
Server side updates are frequently released. Each time you start the multiplayer server, make sure you’re using the latest version. You’ll need to restart the server in order for changes to take effect.
If you are using the Dinogen Online Multiplayer Server tool on Steam, server files are automatically updated. If you are using the server repository, read more.
To update the server code to the latest version:
git pull
npm install
Then start the server again:
npm start
PM2
It’s useful to automatically restart the server in the event it stops for any reason. Using PM2 handles this, ensuring the server remains online until you explicitly stop it. This is particularly useful if you are hosting on an external service.
Learn more about PM2: https://pm2.keymetrics.io/
Install PM2:
npm install pm2 -g
Start the server with PM2:
pm2 start server.js --name dinogen-online
PM2 also provides some useful commands:
pm2 list
pm2 logs
pm2 monitor
Configuration
In most cases, the default server setup will be sufficient.
However, you can configure server settings by modifying the settings.json file in the root directory.
name | Server name |
country | 2-letter country code, useful if hosting the server externally |
port | Port to run the server on (default 9000) |
admins | Array of usernames for admin access |
banned | Array of usernames or Steam IDs to ban from the server |
maxPlayers | Maximum players that can connect simultaneously |
welcome | Welcome message to display when a player connects |
rules | Server rules |
info | Array of messages to randomly display to players in game |
bPersistentStats | If true, server stats will be saved to a file |
bAllowVotekick | Enable votekick for public lobbies |
bAllowVoteskip | Enable voteskip for public lobbies |
bAllowVotes | Enable map voting for public lobbies |
bDisableDummies | Disable multiplayer bots |
bDisableCustomLobbies | Disable the ability to create custom lobbies |
bSingleGame | Limit the server to a single concurrent game |
publicLobbies | Array of public lobby types to create on startup |
bPublicLobbies
Array of public lobby types to create when the server is started.
Acceptable lobby types:
all
standard
survival
scenario
bPersistentStats
If enabled, server stats will be saved to stats.json in the root directory.
bDisableCustomLobbies
If enabled, players will not be able to create custom games. Players will only be able to join public lobbies.
bSingleGame
If enabled, the server will be limited to a single active lobby. This can be useful for “24/7” style servers. The lobby player limit will use the defined maxPlayers value. When players join the server, they will immediately join this lobby.
See singleGameData for more info.
singleGameData
Only used when bSingleGame is enabled. You can configure additional game settings for the single active lobby.
lobbyType | Public lobby type to use |
scenario | Specifies a scenario file to use (root directory) |
Server URL
It’s recommended to have your server accessible by a URL.
Your server will be accessible by IP address for most players. However, web players will not be able to connect to an IP address directly. This is because the game on web is loaded over HTTPS (secure) and typically the IP address will not be secure.
Depending on where you are hosting your server, you may already be provided with a secure URL. Otherwise follow the steps below.
Setup SSL
You will need your server IP address and access to a domain name or purchase a new one. You can use Namecheap for this.
This example will use Ubuntu and the server URL of dinogen-server.wilkingames.net.
Create Domain Record
Create a new A Record on your domain:
Type: A Record
Hostname: dinogen-server.wilkingames.net
Value: <Your server IP>
Install Nginx
Install nginx (web server) on your server:
sudo apt install nginx
Install Certbot
Certbot is a free open-source tool that enables HTTPS.
sudo apt install certbot python3-certbot-nginx
Enable HTTPS on your server:
sudo certbot --nginx -d dinogen-server.wilkingames.net
Assets
You can modify game files (such as weapon and dinosaur stats) in the assets/json directory. Generally this is not recommended since it can disrupt the balance of the game, and negatively impact existing custom scenarios that are played on your server. Instead, use the Scenario Editor to make these changes.