Dinogen Online

Dinogen Online

Not enough ratings
Custom Server Guide
By Wilkin
Quick guide for hosting your own Dinogen Online multiplayer server.
In order to host your own Dinogen Online server, you must have npm on the device you want to run the server on. It's recommended to have basic command-line experience beforehand.

What is npm?
npm (Node Package Manager) is an online repository for the publishing of open-source Node.js projects. It's also a command-line utility for interacting with said repository that aids in package installation, version management, and dependency management.

To check if you already have npm installed:
npm -v

If installed, these will output the currently installed versions. Node v16+ is required to run a Dinogen Online multiplayer server.

If not installed, follow the installation directions for your operating system: https://nodejs.org/en/download/
Method 1: Dinogen Online Multiplayer Server Tool
Use the Dinogen Online Multiplayer Server tool in your Steam library to easily launch a multiplayer server. This tool is automatically included when you install Dinogen Online.

Method 2: Repository
Contact WilkinGames#7992 on Discord for repository access to the Dinogen Online multiplayer server.

Navigate to the directory you want to run the server from and clone the repository:
git clone <url>

Install the dependencies:
npm install

Now you can start the multiplayer server:
npm start

You should see the following output if successful:
Dinogen Online | Multiplayer Server | x.x.x | Game Version: x.x.x ... Listening on IPv6 :::9000

Congratulations! You are now running a Dinogen Online multiplayer server. You can verify by opening the following page in your browser: http://localhost:9000
Ubuntu Installation Example
Install Node:
sudo apt update curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash - sudo apt-get install -y nodejs

Install the Dinogen Online multiplayer server:
npm install

Install PM2 and start the server:
sudo npm install pm2 -g pm2 start server.js --name dinogen-online
You can configure server settings by modifying the settings.json file in the root directory.

Server name
2-letter country code, useful if hosting the server externally
Port to run the server on (default 9000)
Maximum players that can connect simultaneously
Welcome message to display when a player connects
Server rules
Enable votekick for public lobbies
Enable voteskip for public lobbies
Enable map voting for public lobbies
If true, multiplayer bots will not be added
Server stats are saved to a file, keeping them persistent when the server is restarted

The server must be restarted for any changes to take effect.

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.
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.

To update the server code to the latest version:
git pull npm install

Then start the server again:
npm start

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