Difference between revisions of "Dedicated Servers"

From Beasts of Bermuda
Jump to: navigation, search
Line 163: Line 163:
'''Finally, here is a sample file that contains an example of a server's configuration:''
'''Finally, here is a sample file that contains an example of a server's configuration:''
[https://drive.google.com/file/d/1EvwtedG9PhHJxfVSsQ6RlkSCcX2KMWqt/view?usp=sharing Download the config sample here.]
[https://drive.google.com/file/d/1EvwtedG9PhHJxfVSsQ6RlkSCcX2KMWqt/view?usp=sharing Download the config sample here.]
This config sample is the defaults, so if you wish to leave certain settings unchanged, simply do not specify them in your config file.

Revision as of 23:52, 27 November 2018

Dedicated Server Console
Beasts of Bermuda supports dedicated servers. In order to start a server, one has two solutions
- Grab the executable file BeastsOfBermudaServer.exe located in [GameRoot]\BeastsOfBermuda\Binaries\[OSType].
- Download our dedicated server tool via SteamCMD or the Steam client software. This section will be detailed here

Starting this executable, will, by default, open up Test_Performance, and allow 32 connections. The user can however, pass custom arguments into the dedicated server using command line arguments.

Setting custom game parameters into the executable

Game Arguments must follow this syntax: -key value. Server Arguments must follow this one: ?key=value.

A dedicated server can be customized using the following arguments:
  • -MapName Name
Valid values are any of the available maps in game. If a map appears to be made of several words, its spacings must be replaced by "_"
  • Currently, one can open a server on
    • Test_Performance
    • Bloodbath
    • Forest_Island
    • Ancestral_Plains
    • If not specified, defaults to Test_Performance

  • -GameMode mode
Valid values are Life_Cycle, Combat and Free_Roam. If not specified, will default to Life_Cycle'.

  • -SessionName Name
Consider a rather short name (avoid "My Super Server that really is awesome pls join"). Spacings must be replaced with "_" for the command to be parsed properly.
Example: -SessionName Vipe's_dedicated_server. For people seeing your server, it will appear as following: Vipe's dedicated server

  • -ServerPassword Password
A password for the game server. No spaces. If not specified, server will have no password.

  • -AdminPassword Password
A password for the admin login. No spaces. If not specified, anyone can use the admin commands. It is recommended to specify a value.

  • -NumPlayers Value
A limit for server's public connections. Basically for how many slots a server has. If not specified, defaults to 32.

Customizing Dedicated server listen and Query ports, and Multihome IP adress

Here comes the more advanced stuff. If you are running multiple servers on your machine, you will need these in order to change the ports used by the server to communicate with the world.

  • ?Port=xxxxx
This is the server's listen port. Its default value is 7777. On your router's ports settings, ensure that the port you are using is open for both TCP and UDP, as the server will use these two.

  • ?QueryPort=xxxxx
This is the server's steam Query Port. Its default value is 27015. Just like the server's listen port, ensure that the port you are using is open for TCP and UDP.

  • ?Multihome=xxx.xxx.xxx.xx
This is your multihome adress, if you use one.

For all of the above server command line flags, do not use space between each, as the following: ?Port=xxxxx?QueryPort=xxxxxx

Setting up advanced server settings using the configuration file

In {installFolder}/BeastsOfBermuda/Saved/Config/WindowsServer You will find a file named Game.ini. If it does not exist, create it. Config section: If the file is empty, the first thing you want to write is [/Script/BeastsOfBermuda.ServerGameInstance], then, under this, you can add several parameters that will rule and maintain your server.
GameMode = EGameModes::TheGameMode

  • Choose either EGameModes::Life_Cycle, EGameModes::Combatn or EGameModes::Free_Roam. this will be the mode of play on your server.

GrowthLimit = 10.0f

  • This is a limit for growth on this server.

bool bConsoleLocked = True

  • If set to false, anyone can access the console, as the server will be in open console mode, treating everyone like default admins.

ServerAdmins = (UserSteamId64="PlayerId64", AdminRank="RankName")

  • This represents an entry for a server admin. In beasts of bermuda, servers support admin ranks, and you can set custom administration ranks for your server.
  • Note that this is treated like a list. Add a new ServerAdmins = (...) line for each administrator. (example will be linked below).

AdminRanks = (AdminRank="RankName", RankLevel = 0)

  • This Represents an administrator rank, with an associated level. The higher the Ranklevel, the higher the administrator. Any administrator with a higher rank than an other will be able to do anything this other admin can do, and more.

AdminCommandRules = (CommandType = EAdminCommands::TheAdminCommand, MinimalRank="RankName")

  • This is a rule for administration commands. Each administrator command type is represented by EAdminCommands. One value can give access to several of the commands.
  • The MinimalRank is the minimal rank required to use this command.
    Valid values for this enumerator are:
ServerMutePlayer - Server-Mute a player, making them unable to send any invite, and send any message.
KickPlayer - Kick a player from this server.
BanPlayer - Ban a player from this server. they will be added in the banlist.
RespawnPlayer - Respawn a player, or respawn yourself.
ControlWeather - Set of functions associated with weather control. Time of day, weather, tornadoes, etc. This should be a high rank Rule.
ClearCarcasses - Function to clear all dead corpses from the server.
ClearBones - Function to remove every bones from dead players and animals from the server.
CheckServerData - This function is associated with an upcoming in-game server manager for admins, and will allow accessing the saved data of your server
ModifyServerData - This function is also associated with the server manager, and allows the administrator to see and modify the data, for administration purposes, or cleanup. This should be a high rank Rule.
FlushServerData - This function is also associated with the server manager, and allows to flush the entire save of a server, without restarting it. Joining players who had a save on this server will have to restart.
ForceSaveData - This function forces the server to serialize and save all the data on the server. This should be a high rank Rule.
RestartMap - This function is not yet used, and may not be used anytime soon, but it will allow restarting the server on an other, or the same map.
PossessEntity - Allows your administrator to possess an existing entity. (any dinosaur)
SpawnEntity - Allows your administrator to spawn an entity, be it a dinosaur or an other map element, or weather element. This function was for debugging purposes and should not be used.
GrowEntity - Allows your administrator to grant growth to a player, or themselves.
Teleport - Allows your administrator to teleport a player to an other, teleport to, make someone teleport to themselves, or teleport several players.

VeteransSteamIDs = "someSteamId64"

  • This is an entry for a veteran on your server. Use it or not, this was requested by hosts. Veterans are allowed to have access to certain dinosaurs that would otherwise be blocked, and they can bypass Creature limits.
  • Use one line per entry.


  • This is an entry for a banned player. Banned players are not allowed connection to your server, and will be notified of it uppon attempting to join.
  • Use one line per entry.

bAllowSkinCustomization = True

  • Whether to allow skin customization on your server. If not allowed, you can specify Customization colors yourself. Beware, that's a bit of work.

SteamGroupName = "Name"

  • if your server has a group on steam, you can put its name here, and the players will be able to find and join your group via the in-game interface. (not fully implemented yet - 11/28/2018 )

bRequiresSteamGroupToJoin = False

  • Whether or not your server requires to join the steamgroup specified using "SteamGroupName="Name".
  • Players that are not part of this group will be denied access to your server.


  • If you have a community discord. Players will be able to find it via the in-game interface. The link must only contain the key associated with the invite, for security reasons.

IntroMessage="Your welcome message"

  • This is a message that will be sent to the clients joining your server, as a welcome.

bDisplayIntroMessage = False

  • Whether to display this welcome message or not.


  • This sets a hard limit to groups. Creatures with a group limit will not be allowed together past the value defined in CreatureLimits.
  • If kept to false, the game will instead apply an exponentially growing discomfort to players trying to group up with more than the limit.

bDisableGlobalChat = False

  • Whether to disable the global chat on your server. Local and group chat will still be available.

bUsePrivateDinos = False

  • Whether to hide the creatures in the player list or not. In future releases of the game, this will be true by default, and players will only be able to see other players that they are grouped up with.

AutosaveTime = 300.0f

  • A time, in seconds, after which the server will automatically securize its data, writing it on the disk. This timer is clamped to a minimum of 30 seconds, as saving too often may cause serious performance issues on large servers.

DayLength = 7050.0f

  • The time in seconds, of an entire day/night cycle on your server.

CreatureLimits = (CreatureType=EDinoType::TheDinoType, PercentAllowed=100.0f, GroupLimit=999, bRequiresVeteran=False)

  • Creature limits on your server. Similarly to Admin rules, these are entries, one per line.
  • Valid values for EDinoType are:
  • There will be one for each playable species implemented to the game.

'Finally, here is a sample file that contains an example of a server's configuration: Download the config sample here. This config sample is the defaults, so if you wish to leave certain settings unchanged, simply do not specify them in your config file.

Setting up dedicated Server using SteamCMD or Steam Client Dedicated Server tool

Steam CMD

To set up a dedicated server using SteamCMD, follow the instructions on Valve's website about their product: Set up Steam CMD

Once you have it unzipped and ready to use, open up the command line in SteamCMD's executable folder (shift + right click on Windows) and use the following command:

steamcmd +login anonymous +force_install_dir your/installdir/beastsofbermuda_ds +app_update 882430 +quit

Via Steam client software

Here is a lot simpler. In your library, next to the "Search"" bar, click on <GAMES> and go to "tools". There, look for "Beasts Of Bermuda Dedicated Server". Download and install, and you are good to go.

Steam client UI

Example of working batch scripts to run a server

Note: It is recommended to finish your command line with -log with no parameter. Otherwise, server will run in the background.

     BeastsOfBermudaServer.exe -GameMode Combat -AdminPassword cxvbji -MapName Test_Performance -SessionName My_awesome_server -NumPlayers 32 -log
     BeastsOfBermudaServer.exe -GameMode Life_Cycle -AdminPassword cxvbji -MapName Forest_Island -SessionName My_awesome_server -NumPlayers 32 ?MultiHome=xxx.xxx.xxx.xx?Port=7777?QueryPort=27015 -log

Go back to Main Page here.