Community Servers

From user's Wiki!
Revision as of 16:36, 31 January 2018 by Devkev (talk | contribs) (Launching)
Jump to: navigation, search


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 the Steam "Tools" section for Battalion 1944 or from a download link that we have provided.

Setup

Linux

We have been testing our build on a machine running Ubuntu 17.04. Just copying the server files, make sure the server binary has the correct permissions and run the following with the launch parameters defined in the Launching 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 in the Launching 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. We've included a script in both the Linux and Windows packages called Run.sh and Run.bat respectively. You should only need to edit the IP and port information in those scripts before running them to get your server up and running. For those who like to know what all of the options are, below is an example of how we run our Linux version at the studio:


./Battalion/Binaries/Linux/BattalionServer /Game/Maps/Final_Maps/Derailed?Game=/Script/ShooterGame.BombGameMode?listen -broadcastip="<EXTERNAL_IP>" -PORT=<DESIRED_PORT> -QueryPort=<DESIRED_PORT + 3> -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=<DESIRED_PORT> This is the "base port" of the server. Specifically, this is the one players use to connect to the game.
-QueryPort=<DESIRED_PORT + 3> This is the "Query port" which helps steam and other services query your server for its 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.

I Want the Aim Map!

Cool! Just add the following to the MapRotation:

+MapRotation=AimMap_01

Server + Game Configuration

Some basics customization:

In the DefaultGame.ini search for the heading

[/Script/ShooterGame.BattalionGameMode]

and you should see something like:

ServerName= Change this to the name you want players to see your server as
Password= Add a password here if you want
TeamNames="ALLIES" Change the name of Team 1
TeamNames="AXIS" Change the name of Team 2
PlayMode=Arcade Set the play style of the server. Most admins will want "Arcade", however "Comp" and "Unranked" are also available. These configurations mirror the matchmaking options.
StartType=ReadyUp Here you set how the server will start. You can choose between: "ReadyUp" requires all players to ready up before the game begins, "PlayerCount" waits until the number of players is bigger or equal to the "RequiredPlayers" config variable, and "Skip" which will start the server immediately.

There are quite a few variables to choose from and we will expand our documentation on all of them in the coming weeks. Each mode has its own section in the DefaultGame.ini and hopefully most of them are self explanatory.

Changing Loadouts

Locate the Loadouts directory inside the server package. Here you can create your own loadout json file (we would recommend duplicating one of the existing ones) and then reference the name inside the DefaultGame.ini.

This section will be filled out more thoroughly in the coming weeks.

Server Admin Commands

First you need to add your steam guid to the AdminSteamIDs array variable. This could look like:

+AdminSteamIDs="76561197976577178"


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