Ballistic Overkill

Ballistic Overkill

View Stats:
Ballistic Overkill > Questions > Topic Details
 This topic has been pinned, so it's probably important
ハンザール君  [developer] Feb 10, 2017 @ 10:32am
[TUTORIAL] Dedicated Server ( Windows | Linux )
This tutorial explains how to download Ballistic Overkill dedicated server for Windows Servers and Linux Server and keep it up-to-date.

Everytime the game is updated the server must be updated as well.
This installation process is quite similar with the installation of many well known games (CS:GO, for instance).

This tutorial was tested with Windows 7 and Ubuntu 16.04

Here is a portforward video tutorial by wirm, only for windows users:

https://www.youtube.com/watch?v=lbPuL6wb2ds

You need to Port Forward these ports:

UDP 8760 - 8790
UDP 7777 - 7778
UDP 4242
TCP/UDP 27015 (or selected ServerPort in config.txt)
TCP/UDP 27016 (or selected QueryPort in config.txt)

DOWNLOADING THE DEDICATED SERVER

You need the program SteamCMD to download and update the server.

Further information: https://developer.valvesoftware.com/wiki/SteamCMD#Downloading_SteamCMD

On Windows---------------------------------------------------------------------------------------------

1. Create a server folder where you want, For example:
C:\SteamCMD

2. Download SteamCMD for Windows:
https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip

3. Extract the contents of the zip to the folder. Then, open the Windows command prompt and go to the folder where SteamCMD was installed.

> cd C:\SteamCMD

4. At SteamCMD's folder, type the following command to DOWNLOAD/UPDATE Ballistic Overkill dedicated server:
> steamcmd.exe +login anonymous +force_install_dir server +app_update 416880 validate +quit

Note: you can also use this command to update the server to an new version.

On Linux--------------------------------------------------------------------------------------------------

1. Create a server folder where you want and enter into it:
>mkdir SteamCMD
>cd SteamCMD

2. Download SteamCMD (link above) and extract it. then, remove the tag.gz.
> wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
> tar -xf steamcmd_linux.tar.gz
> rm -f steamcmd_linux.tar.gz

3. Install basic support lib support for your SteamCMD:

> sudo apt-get install lib32stdc++6

4. At SteamCMD's folder, type the following command to DOWNLOAD/UPDATE Ballistic Overkill dedicated server:
> steamcmd.sh +login anonymous +force_install_dir server +app_update 416880 validate +quit

Note: you can also use this command to update the server to an new version.

RUNNING THE DEDICATED SERVER

At this point, you should have a folder named 'server' inside SteamCMD folder.

On Windows---------------------------------------------------------------------------------------------

To execute the server just run the file BODSLauncher.exe (at server's folder) or execute the command on cmd:
> BODS.exe -batchmode -nographics -logfile output.txt

On Linux--------------------------------------------------------------------------------------------------

To execute the server just run the file BODS.x86 (at server's folder):
> ./BODS.x86 -batchmode -nographics -logfile output.txt

CONFIGURING THE SERVER

In the 'server' folder of there's a file called config.txt This is the file you must modify to configure your server.
(we recommend you backup this file because when updating the server it will be overwritten)
Configuration Options:

ServerName: server name as shown in server browser;
ServerPort: UDP port which the server will listen for incoming connections;
QueryPort: Steam query port for list server.
MaxPlayers: max players (2 to 16 is good);
MaxSpectators: max players (2 to 4 is good);
MaxPing: players with ping higher than this value will be automatically kicked from the server;
GameMap: start map;
GameMode: game mode;
MatchTime: how many minutes (default is 10, and 10 is good)
Password: set here your password if necessary
BannerURL: server banner URL. The banner is shown at game's loading screen;
ClickURL: URL to open when the player clicks over the server banner.
Autobalance: Set this value to 0 if you want to select teams, or 1 to have autobalance automátically.
DedicatedBroadcast: advanced option,
set 0 to P2P Broadcast (light, player/player ping based)
set 1 to Server Broadcast OnDemand (medium, ensure the packets sent from players with ping of 200ms or higher have lowest ping as possible)
2 to Server Broadcast (heavy, but ensure the packets sent between all players have lowest ping as possible)
OwnerId: OwnerId of the DedicatedServer. you must fill a valid 'SteamID64'. Only the user with this steamID64 can send Special Commands (like ./list) from chat to the Server. you can find your steamID64 using this site: https://steamid.io/ ; It looks like this: 76561198007483607. (implemented on for 1.3.6 version)

Custom Server Commands

We added a few commands to help those who create their own servers manage them with ease. If you are a server host you can type these in the chat anytime during a match.

./list
Lists in numeric order, all players in the match.

./kick [player number from the list]
Kicks the player identified by that number.

./blacklist [player number from the list]
Permanently kick and ban the player identified by that number in this server.

./prioritylist [player number from the list]
Includes the player in the priority list. This will give him priority in any future queue in this server.

To manage banned and priorized players in your servers, you can always manually edit the file BallisticConfiguration.serverdata in the custom server folder.

PROBLEMS AND QUESTIONS

GeneralProblem: "My server is running but nobody from outside my local network can find the match"
Solution: Probably you'll need to port forward the server (http://portforward.com/)

WindowsProblem: "My server crashes when exited and now it won't open again"
Solution: Check if the process BODS.exe is still running. If it is, close it through the Task Manager

LinuxProblem: "My server crashes when exited and now it won't open again"
Solution: Check if the process BODS.x86 is still running. If it is, close it through the Monitor Process

LINUX-ONLY: LEAVING THE SERVER RUNNING THROUTH SSH

As you managed to get a server running, you may want to run it in headless mode in a dedicated server anywhere in the world. Here we have few commands for help you in this advanced jorney:

Copy entire dedicated server for another folder
cp -R folderfrom/* folderto/

Running the server through TMUX server (deattached from ssh thread)
tmux new -d -s session_name './path/to/where/bods/is/BODS.x86 -batchmode -nographics -logfile output.txt'

Output the log of the server
cat /path/to/where/bods/is/output.txt

Close all running instances of TMUX server (also the dedicated servers running)
killall tmux

If something isn't here, you can find cool SSH commands for almost everything, googling linux bash commands on google/yahoo/etc. If is something you would like to add more useful commands here, post above, then we can review and add this section :)

LINUX-ONLY: More Userful Commands

Example of Bash for update your server automatically (Advanced)
#!/bin/bash
killall tmux
./room_1/steamcmd.sh +login anonymous +force_install_dir bods +app_update 416880 validate +quit
rm -rf room_2
rm -rf room_3
mkdir room_2
mkdir room_3
cp -R room_1/* room_2
cp -R room_2/* room_3
cp -R config_room_1.txt room_1/bods/config.txt
cp -R config_room_2.txt room_2/bods/config.txt
cp -R config_room_3.txt room_3/bods/config.txt
mv room_1/bods/config_room_1.txt room_1/bods/config.txt
mv room_2/bods/config_room_2.txt room_2/bods/config.txt
mv room_3/bods/config_room_3.txt room_3/bods/config.txt
tmux new -d -s session_1 './room_1/bods/BODS.x86 -batchmode -nographics -logfile output.txt'
tmux new -d -s session_2 './room_2/bods/BODS.x86 -batchmode -nographics -logfile output.txt'
tmux new -d -s session_3 './room_3/bods/BODS.x86 -batchmode -nographics -logfile output.txt'
Last edited by ハンザール君; Aug 18, 2017 @ 6:47am
< >
Showing 1-15 of 41 comments
Errn Feb 19, 2017 @ 9:59am 
Does anyone have the server banner dimensions by chance?
ハンザール君  [developer] Feb 21, 2017 @ 5:27am 
Is in the config.txt file, # Image size is 328x82 pixels
jungle.gnz Mar 29, 2017 @ 9:07pm 
Originally posted by ハンザール君:
Is in the config.txt file, # Image size is 328x82 pixels
Does it need to be transparent background as I have loaded on up and all I get is a big fuzzy red question mark on white background. CLicking on it though works to link to underlying site.
ハンザール君  [developer] Mar 30, 2017 @ 7:30am 
It needs to be a PNG file
jungle.gnz Mar 30, 2017 @ 3:26pm 
Originally posted by ハンザール君:
It needs to be a PNG file
cheers
R4M8R0 Apr 1, 2017 @ 1:34am 
quais portas tenho que redirecionar?
badjohn86 Jul 17, 2017 @ 5:46pm 
I am pretty sure the config has changed and this guide needs to be updated. Just updated my server and am In the process of the reboot. Config.txt had different options to set. ports were the same if i remember
Oolinels Jul 20, 2017 @ 3:48am 
Hello, please help. I can not connect to my server, I see the server in the list of servers, but when trying to connect, I get an error "Error connecting to the game."
How can I fix it?
Isheh Jul 20, 2017 @ 9:00am 
Any chance we can get a configsubdir command line option?, to run multiple instances from the same binary using different configs?
badjohn86 Jul 20, 2017 @ 6:25pm 
@oolinels make sure your ports are open
Oolinels Jul 21, 2017 @ 12:15am 
Originally posted by badjohn86:
@oolinels make sure your ports are open
All ports are open. Firewoll off.
Server sees everything, but nobody can go.
badjohn86 Jul 21, 2017 @ 4:17am 
what's the name of your server? Also did you do the last update?
Oolinels Jul 22, 2017 @ 4:28am 
Originally posted by badjohn86:
what's the name of your server? Also did you do the last update?
TEST 1
Yes, I updated it. (Last Record Update 3 days ago (July 19, 2017 - 15:04:35 UTC)
Oolinels Jul 23, 2017 @ 5:25am 
Will the developer answer?
In vain money for the game wasted.
badjohn86 Jul 23, 2017 @ 2:14pm 
i don't know how you would've wasted money, as to host a dedicated server is free. Why would you host a server called test 1? Check your firewall settings on the server. Also you'll need to provide more information for your setup. Is your server hosted on dedicated hardware within your lan, are you paying someone else to host your server. I can't see your sever in the list so i assume it is hosted on your lan and you don't have your router's firewall ports open either.
Last edited by badjohn86; Jul 23, 2017 @ 2:17pm
< >
Showing 1-15 of 41 comments
Per page: 15 30 50

Ballistic Overkill > Questions > Topic Details