Server

From Bombdog Studios_Wiki
Jump to: navigation, search

Important Notifications

Remove the updater.exe from the same folder mav.exe is located
This fixes the endlessly connecting issue where players can't connect to the server but it still progresses like normal.
Run the server using the no graphics version.
The graphics version must have some sort of ui error that makes the visuals hog tons of cpu resources. In Serge's test 4 humans 6 bots ran 90% cpu with graphics on, and 13% without graphics. To close the server after your done go to task manager and end the process or turn off the machine.
Linux Information
This is a current work in progress. I did a lot of stuff while switching to linux over several days. This will mostly affect the "what to install" section.

Important File Locations

This is the file path for important server files if you do not change the destination folder.

MAV.exe
C: / Program Files (x86) / MAV /
LINUX: home / USERNAME / .wine / drive_c / Program Files (x86) / MAV /
This is the location of the program files that make up MAV itself.
Updater.exe
C: / Program Files (x86) / MAV /
LINUX: home / USERNAME / .wine / drive_c / Program Files (x86) / MAV /
This is the easiest way of updating M.A.V. for a server.
It is good to move this file into a sub folder when not in use as having it in the main folder can cause issues.
serverconfig.ini
C: / Users / USERNAME / My Documents / My Games / Bombdog Studios / MAV / Prefs /
LINUX: home / USERNAME / .wine / drive_c / Users / USERNAME / My Documents / My Games / Bombdog Studios / MAV / Prefs /
If you ever wanted to change the port, server name, or other settings like time limit and bot count.
Error / Exception Log Files
C: / Users / USERNAME / My Documents / My Games / Bombdog Studios / MAV / Logs /
LINUX: home / USERNAME / .wine / drive_c / Users / USERNAME / My Documents / My Games / Bombdog Studios / MAV / Logs /
These files are good to give to cyber every so often and are created when MAV.exe is launched, MAV will only make up to 11 of these.

File Setup

Because the "Dedicated Siege Server.exe" and "Dedicated Arena Server.exe" programs aren't the best options to run servers with and they might not work on operating systems such as Windows 10. Because of this we're going to set up some alternatives to work with.

Windows

  1. Make two shortcuts to MAV.exe and move them to a convenient location.
    1. I recommend renaming these to something like MavArenaServer / MavSiegeServer for convenience.
  2. Right click on the MAV.exe shortcuts and go to properties.
  3. On the end of the string in the "Target" section we'll be added a bit of code so when you launch M.A.V. from the shortcuts it will launch either an Arena or Siege server.
Arena Server (Graphic and Non-Graphic options)
C:\filepath\Mav.exe ArenaServer
C:\filepath\Mav.exe ArenaServer -batchmode -nographics
Siege Server
C:\filepath\Mav.exe SiegeServer
C:\filepath\Mav.exe SiegeServer -batchmode -nographics

Optional setup

  • Make a shortcut to serverconfig.ini and place it with the other shortcuts.

Linux

See below at Linux Hosting for this section until I finish rewriting everything to integrate it.

Multiple servers at once

If you want to host multiple servers on the same system then you just have to do a quick copy and paste.

  1. Create a folder in another location on your server.
    1. I'd suggest naming it Mav2 or the port# you plan on using for it such as Mav27002.
    2. I'd suggest the same directory if you can such as "C: / Program Files (x86) / MAV27002 /" for windows.
  2. Copy all of the files and folders where Mav.exe and Updater.exe is located.
  3. Copy the serverconfig.ini file and place it into the new folder.
  4. Modify the serverconfig.ini so that it uses a different port number so both servers won't compete for attention.
  5. Do the same shortcut setup as you did for your 1st server.

Port Forwarding

Consult your router specific way of port forwarding. The port(s) you'll be forwarding are the ones you set in the serverconfig.ini file such as 26001.

Example instructions (Not applicable for all setups)

  1. In an internet browser enter the address 192.168.1.1 into the web address and hit enter.
  2. Enter in your username and password, in most cases it'd be admin for the username and either blank " ", or "admin" for the password. For my setup the password is written on the side of the router.
  3. Firewall Settings then Port forwarding.
  4. Create Port Forwarding rule for "Server Computer Name", in my case it is RaksalServer - 192.168.1.10.
  5. Custom Ports
  6. Both
  7. 26000,26001,26002,26003 (I've got 3 servers, so I'm forwarding all 3 at once) The 4th one is actually for Project Iceberg which is eventually going to be a program that interfaces with the ServerAPI.
  8. Hit the Add button and you should be done.

Allowing M.A.V. through your firewall

Consult your firewall specific way of allowing programs through it. Some firewalls will block traffic and not allow others to connect to your server.

Windows Server 2012

  1. Open Server Manager
  2. Select the Local Server (or server in question)
  3. Click on the Windows Firewall (Public: On)
  4. Allow an App or program through the firewall
  5. Allow another app...
  6. Find it from the list or browse to the MAV.exe file that your shortcuts are pointing too.
  7. Confirm and that should be it.

Hosting multiple servers at once

Copy everything in the program files (x86) / MAV / folder and copy that into another folder somewhere else on your hard drive. Also copy the serverconfig.ini file into this new folder. Make the appropriate shortcuts and changes to your firewall / port forwards as the new MAV.exe file is a completely different program to the computer.

Please remember to change the port and name of the new server in the serverconfig.ini located in the 2nd folder. I've personally named the shortcuts ArenaServer26002 and ArenaServer26001 and so forth to easier tell what goes where.

internaldirectconnectfailure

This message appears to anyone trying to connect to a server but are unable to connect. This is mostly due to not having port forwarding properly set up or MAV not being whitelisted on your firewall.

Bugs and Errors

Warning : This is volatile and may be fixed or outdated in future updates. At time of writing the current patch is 0.7.0.1

Remove the Updater.exe from your folder to make servers work

The gui is glitchy until matches start Somewhere some sort of gui update check doesn't go into effect until after the round change occurs. It doesn't effect gameplay but it does exist.

ServerSettings.config

There are currently four hidden server setting options, admin, maxplayers, RoundOverReset, and teams (arena only). Make sure you place the commands in their specific sections.

 [ServerSettings]
 #Name displayed on the server browser
 Name=M.A.V. Server
 Admin=PlayerName;PlayerName;PlayerName;
 PortNumber=27001
 Maxplayers=12
 RoundOverReset=y : y is yes, n is no
 #ServerTimeSettings -- These are in seconds and are in the order that a MP match progresses through. 
 #NOTE: The WaitForReadyTime is the time that the current stage is reset to when a new player joins the server.
 WaitForReadyTime=30
 TeamSetupTime=15
 LevelVoteTime=15
 MatchPrepTime=30
 
 [SiegeMode]
 NumberOfAI=6
 #Selectable Round times : 0 = 5mins, 1 = 10 mins, 2 = 15 mins, 3 = 20 mins, 4 = 30 mins, 5 = 1 Hour
 RoundTime=3
 #Limited AI Difficulty: Random, Easy, Medium, Hard, Very Hard, Insane
 #takes string of wanted difficulty. Defaults to random
 AIDifficulty=Insane
 
 [ArenaMode]
 KillLimit=15
 NumberOfAI=6
 #Selectable number of teams: TwoTeams, ThreeTeams, FourTeams, EightTeams
 #Invalid Team Setting results in FFA
 TEAMS=FourTeams
 #Selectable Round times : 0 = 5mins, 1 = 10 mins, 2 = 15 mins, 3 = 20 mins, 4 = 30 mins, 5 = 1 Hour
 RoundTime=2

Tips and Tricks

  • Graphics : If you have a server selected you can hit tab and open up the chat menu, you can now type in a message to the players informing them that you're forcing the round to end or resetting the server. This doesn't appear to break like it can tend to do in normal play and the name that shows up in chat is "Server".
  • Non-Graphics : I suggest making batch files for force shutting down servers by ending the process, this makes the whole thing much quicker than opening up the task manager and closing the process manually.
  • Everyone : Changing the botcount / kill limit / time limit effects singleplayer matches.

Server Commands

These commands allow you to edit attributes of the server with the in-game chat which helps those with no-graphics.

The commands have been moved to its own page, click here to look at them.

Linux Hosting

Warning: This is a work in progress, I've might have forgotten what I've done in certain cases

Stuff you need installed
Wine-HQ
At least two / three bash files so you can fiddle with the game remotely. 1 to start an arena server, 1 to start a siege server, 1 to kill any server if you want. (I have this function in both of the other two files)
An alternative way of updating the files as I have no idea if the updater.exe works on linux.
resetArena.sh Script I run to reboot Mav as an Arena server.
 #!/bin/bash
 killall Mav.exe
 DISPLAY=:0 setsid wine "/home/USER/.wine/drive_c/Program Files (x86)/MAV/Mav.exe" "ArenaServer" "-batchmode" "-nographics" </dev/zero &>/tmp/wine.out &
  1. So what I do is denote to the server that this is a bash file
  2. Then I kill all instances of Mav so I don't create a bunch of copies of the program running at once
  3. DISPLAY=:0
    This lets the server run as it errors out without having some sort of graphics screen assign to it. Without this Bit you can't run it on a non-gui terminal such as PuTTY.
  4. setsid
    I believe this helps it run as a background process so you can run it without having to keep a terminal open.
  5. wine "/pathtofile/MAV.exe"
    run this program with the wine program
  6. arguments
    Seperating each one works so that's why they've got the " 's around each segment.
  7. </dev/zer &>/tmp/wine.out &
    This makes it print the "sending a ping to master server" spam go into a file as MAV really hates it if it doesn't have anywhere to put that stuff.