Difference between revisions of "Dedicated Servers"

From Beasts of Bermuda
Jump to: navigation, search
m (Config sections:)
m (Customizing Dedicated server listen and Query ports, and Multihome IP adress)
Line 49: Line 49:
  
 
==Customizing Dedicated server listen and Query ports, and Multihome IP adress==
 
==Customizing Dedicated server listen and Query ports, and Multihome IP adress==
''Do not forget to port-forward for the server to function. By default, steam uses the port 7777, 8888 and 27015. The server can use an other Port, and Query Port, but in every case, 8888 will need to be open.''<br>
+
''Do not forget to port-forward for the server to function. '''By default, steam uses the port 7777, 8888 and 27015'''. The server can use an other Port, and Query Port, '''but in every case, 8888 will need to be open.'''''<br>
 
''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.''
 
''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.''
  

Revision as of 16:54, 2 February 2021

Gportal Logo.png Pingperfect logo.png Comet hosting.png Hosting rust.png

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


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


  • -log
It is recommended to always provide this argument so that the server does not run in the background.




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

Do not forget to port-forward for the server to function. By default, steam uses the port 7777, 8888 and 27015. The server can use an other Port, and Query Port, but in every case, 8888 will need to be open.
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.
NOTE: Make sure to not have ANY unnecessary spacings in the config file.

Config sections:

  • 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 = TheGameMode

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



GrowthLimit=100.0f

  • This is a limit for growth on this server.
  • Note that any value past 2 is very unlikely to be reached by a player unless they dedicate their life to it. Growth is inverse exponential, and past 1.2 becomes incredibly slow.



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. It is NOT recommended to set it to false unless you are doing tests..



ReservedAdminSlots=2

  • This is a setting to reserve slots for administrators on a server. These slots are filled when an admin joins the game.
  • Its default value is 2.



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

  • 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 as a list. Add a new ServerAdmins = (...) line for each administrator. (an example will be linked below).



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

  • This Represents an administrator rank, with an associated level. The higher the Rank level, the higher the administrator. Any administrator with a higher rank than another 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 invites, and send any message.
KickPlayer - Kick a player from this server.
BanPlayer - Ban a player from this server. They will be added to 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 bone 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 another, 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 another map element, or weather element. This function was for debugging purposes and should not be used.
UseObserver - Allows your administrator to possess the spectator cam and move around with it. Unlocks the commands EnterSpectate & LeaveSpectate.
GrowEntity - Allows your administrator to grant growth to a player, or themselves.
Teleport - Allows your administrator to teleport a player to another, teleport to, make someone teleport to themselves, or teleport several players.



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.



DiscordLink="GZrhgrC"

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



bDisplayIntroMessage= 'false

  • Whether to display a welcome message or not. See Message of the day for details on how to set up a welcome message.



'bUseHardGroupLimits=false

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



!CreatureLimits=ClearArray
+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:
Acrocanthosaurus,
Apatosaurus,
Elasmosaurus,
Kronosaurus,
Ichthyovenator,
Megalosaurus,
Mosasaurus,
Oryctodromeus,
Pachycephalosaurus,
Parasaurolophus,
Pteranodon,
Saichania,
Tyrannosaurus,
Utahraptor,
Velociraptor.
  • There will be one for each playable species implemented to the game.


!PlayerChatColors=ClearArray

PlayerChatColors=(SteamID=PlayerId64, ChatColor=(R=1.00,G=0.00,B=0.00,A=1.00))

  • These name colors override the Admin yellow chat color
  • They also show up in local, party, and message chats

!PlayerChatTags=ClearArray

PlayerChatTags=(SteamID=PlayerId64, ChatTag="Admin")

  • These tags also receive the player's name color if they have on specified
  • These also show up in local, party, and message chats



Afterwards you will need to create a new section for your autosave configuration. It needs to be at the end of the file with the header [/Script/BeastsOfBermuda.SaveSystem]
AutosaveTime=300.0f

  • A time, in seconds, after which the server will automatically secure its data, writing it on the disk. This timer is clamped to a minimum of 30 seconds and is default at 120 seconds.




For ease of use there is a Config Generator that can be found here

'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, Steam Client Dedicated Server tool, or a Command Prompt

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. Sometimes this does not show up in the Tools section, for an unknown reason.

Steam client UI






















Via Command Prompt

Should both methods not work try this as well. Download, extract and run Steam CMD, then close it when the updates finish. Right click on the folder name where you extracted the .zip, and select "Copy address" and paste that aside somewhere.

Create a folder on your desktop called "Server" and open it. Right-click on the folder name in the bar, and select "Copy address".

Open a command prompt and, pasting the addresses into the blank spots in order, and run this command.

(Address 1 here)\steamcmd.exe +login anonymous +force_install_dir (Address 2 here) +app_update 882430 +quit


An example being

C:\Users\user\Desktop\TheFolder\steamcmd.exe +login anonymous +force_install_dir C:\Users\user\Desktop\Server +app_update 882430 +quit

Once the file finishes running you may close it and find your folder named "Server" which should now contain the files needed.

Example of working batch scripts to run a server

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

     BeastsOfBermudaServer.exe -GameMode Combat -MapName Test_Performance -SessionName My_awesome_server -NumPlayers 32 -log
     BeastsOfBermudaServer.exe -GameMode Life_Cycle -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.