Server wizard

From AssaultWiki
Jump to: navigation, search

The Server Wizard is a tool originally created by AndreONEz, and added in the AssaultCube 1.0 packages to make the creation of a server faster and easier.

Using the server wizard is no alternative to reading the documentation. In fact, it is strongly advised, not to use the wizard. Configuring the server by editing config/servercmdline.txt is easier and more powerful. Several problems listed below only apply to the wizard.

Continue reading here: The Complete Idiot's Guide to AC Servers (1.0.4)

Since the wizard is not to be used anyway, the documentation below is outdated (and partially wrong) and not maintained by the developers. Please use the official documentation instead.

Basical running

The Server Wizard is in fact constitued in two parts: one script (we will run it after ;) ), and an application which will manage the parameters passed by the script to the real server application. Here are the source codes of the scripts:

OS Script
Linux #!/bin/sh
./server.sh --wizard server_autogenerated.sh ./server.sh
chmod 755 server_autogenerated.s
Windows @echo off
bin_win32\ac_server.exe --wizard server_autoconfigured.bat bin_win32\ac_server.exe
pause


You can see that in each case, the Server Wizard calls the server script (the real one), and create a new script called server_autogenerated (you will have to use the script auto-generated to run your server properly). When launched in a shell, the Wizard make several requests (the order of the requests depends on the operating system):

  • server description is the server description who will be displayed on the server list when a player connects on it.
  • max clients is the maximal allowed number of players who can be at the same time connected on your server.
  • password is the password you can set, to disallow players who don't have it to connect to the server you own.
  • admin password is the password you have to use to manage your server.
  • message of the day is the MOTD, that's to say the message who will be displayed on the server.
  • server port: if you want the server to be forwarded on different ports than the default one.
  • masterserver is the server wich provides a public servers list and which displays you server's adress to others.
  • maprotation file is the path to the file which contains the different map on which the players will play on your server.
  • score treshold is the minimum kill range, the players will be kicked if they are below it.
  • upstream bandwith is the maximium bandwith your server allow.
  • ip is the IP you want to be set as your server's.


On Windows you will have two additional requests:

  • win service name: name of the service who will be set on your OS. See the server security to know more.
  • win service display: See server security to know more.


In any case - If you are not sure of the setting you want to input, simply leave it as void, and press the Return button. The minimal settings I advice you to set are the server description, max clients allowed on server, the admin password, the message of the day, the win service name and the win service display. If you only press the Return button, or leave voids in inputs, the requested parameters will be set by the Server Wizard to the default values.

If your server is not working, do not fill in any fields until you have a working server (portforwarding, etc.). Then try to fill in the fields one by one.

So now you've successfully filled the forms, you should see the following informations displayed on the shell:

Windows server run 1.jpg

Issues on Windows

The shell instructions injection

This problem is very, very annoying with every script you run from a shell. Indeed every input you make with the script must be 'filtered': the special chars (some of them) are not appreciated by the shell. For example, if you enter the server description "Associated | Corporation", the shell will think that you are trying to make a pipe! For those guys who didn't understand, the shell thought that you were tring to execute some program:

Windows server run 2.jpg

The shell will say: Unknown command.

The services collision

Well that's not really a problem, but if you though that it was, just read this. If you try to make a server, you enter severals parameters in the wizard. So when you finish the input, the server wizard automatically tries to create the auto generated batch file, and to create some services (see server security). So if you want to own yourself two servers, or to restart another one, you will see a warning.

As I point out, that's not a problem, only a warning...

Ungenerated server launcher

It seems that on several computers with Windows, the Wizard fails to create the autogenerated batch file to launch your server. If your server is said registered on the masterserver, you can make the launcher manually: Create a new file with the Notepad and fill it with the following lines:

@echo off
bin_win32\ac_server.exe -xpassword -k1 -c6 -n"Servers title" -o"My servers motto"
pause

Save this file as launcher.bat and place into the AssaultCube main directory (for example in C:\Games\AssaultCube). Make also sure that the file /bin_win32/ac_server.exe exists. Now you can start your batch file launcher.bat and your server will run with the instructions in it (to edit the server's parameters, right click on the launcher, and click 'Modify' or 'Edit').

Issues on Linux

The shell instructions injection

Exactly the same problem under than under Windows: don't enter special caracters in the server's parameters.

Port forwarding

That's quite the same thing than with Windows, but a good idea could be to use FireStarter firewall. Launch the application (the firewall), create your server with Server Wizard, and wait the error message (Server not registered, masterserver could not ping you). When the message is displayed on your shell window, go to FireStarter in the tab 'Evenments'. Then right click on the connection said as 'stoped' by the firewall, and autorise them.

See also