This is a short overview about installing the fgms. The reader is assumed to be reasonably familiar with working in a Unix/Linux shell environment.
- Note
- First, make sure to read about pre-requisites and bandwidth etc in Hosting
The examples below use the following directory structure:
/home/my/stuff < working directory
/home/my/stuff/fgms-0-x < the git checkout of the source code
/home/my/stuff/build_fgms < the temp build directory
Getting & Building fgms
- Note
- There are currently no 'pre built binary packages' for fgms. Its expected that you have a server that you are in control of, can install packages and compile with root permissions if necessary. Also the install is more focused on *nix style systems which is the primary development platform.
- You will need the build tools cmake and make, and also g++ to compile the fgms application. These can usually be found in the package manager for most the common Linux distributions.
- You will also need the git client to fetch the source code from the repository.
- Once the build tools are installed on your machine, create a directory to hold the source code.
- Now clone the source code with git
- Create and enter a temp directory (this is where all the compilers working files will be written to) and configure using cmake
mkdir build_fgms
cd build_fgms
cmake ../fgms-src
- At this point you should have a working fgms binary in the build_fgms/ directory.
Setting up the config file
- Create and edit a Configuration file according to the instructions found in example.
cp ../fgms-0-x/src/server/fgms_example.conf ./my-test.conf
> edit ./my-test,conf
- Note
- If the server will be offline or for private use (i.e. LAN-only, please comment out the relay servers section. This will save bandwidth from the server being consumed.)
Run fgms for the first time
In addition to its configuration file, fgms supports a number of configuration parameters that can be passed at startup (and that will by default override any configuration file settings), to get a summary of supported parameters, you may want to run:
- Note
- By default the file names and options are: fgms.conf - for config fgms-exit, fgms-stat - as the file interface files fg_server.log - as the log file
Installing and Running
For a system wide install you will need root (sudo) permissions
cmake ../fgms-0-x
make
su make install
By default fgms installs to:
- /usr/bin/fgms - the executable
- /usr/etc/fgms.conf - the config file (SYSCONFDIR, DEF_CONF_FILE)
- /var/log? - the log file
Install Options
- There are other options that can be used during the build process.
- For all the options, see the README.cmake file
Server #2
Normally, the requirement is for one production server, however there is a situation to run both a production and test, ie a second server. To build a second server configuration, use:
cmake ../fgms-0-x -DBUILD_SERVER2:BOOL=TRUE
- The defaults are: - fgms2.conf, fgms-exit2, fgms-stat2, and fg_server2.log
- Traditionally
- ports 5000 / 5001 - used for production udp and telnet
- ports 5002 / 5003 - used for test udp and telnet
Tracker Install
By default, the Tracker Server is not build.
- A postgres database and its header files need to be installed (currently postgres is the only database supported)
- The ::DEF_IP_ADDRESS, ::DEF_PORT, ::DEF_USER_LOGIN, ::DEF_USER_PWD and ::DEF_DATABASE macros need to be set*
- To enable this option use:
cmake ../fgms-0-x -DBUILD_TRACKER=ON
- See also
- README.tracker file and create_db.sql
RunTime and Startup
Supervisord
- Note
- Do not run as deamon as supervisor will deamonize
http://supervisord.org/configuration.html#program-x-section-settings