Dinogen Online

Dinogen Online

Not enough ratings
Server Admin Guide
By Wilkin
In-depth guide for managing your Dinogen Online multiplayer server.
   
Award
Favorite
Favorited
Unfavorite
Requirements
You should have the ability to host and run a Dinogen Online multiplayer server.

Read the custom server guide for more details:
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=2906260771
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.

Property
Description
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
bDisableEvents
Disable automatic special events, such as Halloween, Christmas, etc.
bSingleGame
Limit the server to a single concurrent game
publicLobbies
Array of public lobby types to create on startup

publicLobbies
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[www.namecheap.com] 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: 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.