Difference between revisions of "Community Servers"
(→Map and Mode Rotation) |
|||
Line 1: | Line 1: | ||
__FORCETOC__ | __FORCETOC__ | ||
+ | |||
+ | == Preface == | ||
+ | |||
+ | Server configuration is currently very early in development and as such you may encounter issues whilst setting everything up. We're also aware of features that are currently missing (such as an rcon-like remote admin tool). Please bear with us as we continue to develop the game as well as the community servers/tools. Currently you '''NEED''' to have the server exposed to the internet in order to connect to it. We are working on getting the LAN support up and running asap. | ||
== Downloading == | == Downloading == |
Revision as of 06:06, 31 January 2018
Contents
Preface
Server configuration is currently very early in development and as such you may encounter issues whilst setting everything up. We're also aware of features that are currently missing (such as an rcon-like remote admin tool). Please bear with us as we continue to develop the game as well as the community servers/tools. Currently you NEED to have the server exposed to the internet in order to connect to it. We are working on getting the LAN support up and running asap.
Downloading
Either grab from steam or download from
Setup
Linux
We have been testing our build on a machine running Ubuntu 17.04. Just copying the server files, make sure the server has the correct permissions and run the following with the launch parameters defined the next section:
LinuxServer\Battalion\Binaries\Linux\BattalionServer
Windows
Just unpack/copy the server files to your desired location and run the following with the launch parameters defined the next section:
WindowsServer\Battalion\Binaries\Win64\BattalionServer-Win64-Shipping.exe
Firewalls / Port Forwarding
At the moment the server will need four ports opened. As we develop new and interesting features over time it might be an idea to make sure that 5 ports from the base port are free.
When you specify -PORT on the server command line (see below) you are telling the server it is okay to listen on ports:
PORT | Game Port |
PORT+1 | Steam Connection Port |
PORT+2 | Unused for now |
PORT+3 | You can change the Query port as you see fit however we normally set it to PORT+3 |
Launching
Launching the server is currently not as intuitive as we'd like, however we would like to fix it up asap. Below is an example of how we run our Linux version at the studio (Windows would have the same parameters):
./Battalion/Binaries/Linux/BattalionServer /Game/Maps/Final_Maps/Derailed?Game=/Script/ShooterGame.BombGameMode?listen -broadcastip="<EXTERNAL_IP>" -PORT=8020 -QueryPort=8023 -log -logfilesloc="/home/bulkbuild/logs" -userdir="/home/bulkbuild/userdir" -defgameini="/home/bulkbuild/DefaultGame.ini"
/Game/Maps/Final_Maps/Derailed?Game=/Script/ShooterGame.BombGameMode?listen | You are required to add a map & mode to launch the server with, but this is NOT USED to determine what map and mode list your server runs. |
broadcastip="<EXTERNAL_IP>" | This is your internet facing address. This is used by others to connect to your server. |
PORT=8020 | This is the "base port" of the server. Specifically, this is the one players use to connect to the game. |
QueryPort=8023 | This is the "Query port" which helps steam and other services query your server for it's current state. |
log | This can be used to allow messages to be printed to the system console. Right now there is only one or two messages regarding the anti-cheat initialization. |
logfilesloc="/home/bulkbuild/logs" | This tells the server where to print out some logs to. Not required. |
userdir="/home/bulkbuild/userdir" | This tells the server where to save out some files to. This is useful as this is where crash logs will be saved out to. |
defgameini="/home/bulkbuild/DefaultGame.ini" | This is the key command for most admins as the file referenced here will configure all of the game and map/mode behavior of the server. |
Map and Mode Rotation
Under the heading
[/Script/ShooterGame.BattalionGameMode]
in the DefaultGame.ini supplied you will see the following:
+ModeRotation=/Script/ShooterGame.TDMGameMode
+ModeRotation=/Script/ShooterGame.DOMGameMode
+ModeRotation=/Script/ShooterGame.CTFGameMode
+ModeRotation=/Script/ShooterGame.BombGameMode
+MapRotation=Coastal
+MapRotation=Derailed
+MapRotation=Liberation
+MapRotation=Manorhouse_V1
+MapRotation=Manorhouse_V2
+MapRotation=Battery
+MapRotation=Outpost
Add or remove maps/modes in this list to control your rotations. To have a random mix of maps and modes set the following variable to True: RandomMapRotationEnabled and it will choose a random mode every map change.
Game Mode Configuration
Changing Loadouts
Server Admin Commands
See below for a mix of official and dev/debug commands. Not all commands are listed and those that are may or may not exist in future versions.
All start with "Server."
Config.<CONFIG_NAME> <VALUE> | Change server config values |
Restart | Restart the server |
Shutdown | Shutdown the server |
EndRound | Force end the round |
Pause | Pause the game - use again to unpause |
WinRound | Force win the round |
LoseRound | Force lose the round |
LoadNextGame | Load the next map/mode in the rotation |
ChangeMap <MAP> <MODE> | Change to a map + mode |
Announce <MESSAGE> | Announce a message to everyone in the server |
Invulnerable | Make yourself invulnerable |
GiveWeapon <WEAPON NAME> | Give a specified weapon to yourself |
GiveGrenade <NUM> | Give a grenade to yourself |
GiveSmokeGrenade <NUM> | Give a smoke grenade to yourself |
GiveAmmo <NUM> | Give ammo to yourself |
DisconnectAll | Disconnect everyone from the server |
AddBot <NUM> | Add a bot to the server |
KillBots | Kill all bots |
KickPlayerByName <NAME> | Kick player by name |
KickPlayerBySteamID <ID> | Kick a player by their steam id |
ListPartyMembers | List all party members |
ChangeToTeam <0 or 1> | Change yourself to team |
State <STATE_NAME> | Change the game state to (WaitingToStart, CountdownToStart, SetupRound, PostRound, PostMatch) |
Cmd.GetPlayerStats will dump out the entire session player info.