Setting up - GameProgressive/GameSpyEmulator GitHub Wiki

Requirements

  • CMake 3.1+
  • Linux/FreeBSD: Any compiler that works with C++11 (GCC 4.9+, CLang 4.0+)
  • Windows: Visual Studio 2015+
  • A MySQL or MariaDB server (optional but recommended, since SQLite support is WIP)

Building

  1. Clone the repository (Don't forget to clone the submodules with git submodule update --force --init --recursive
  2. Use cmake to generate the project
  3. Compile

Database setup (Only for MariaDB or MySQL)

Create a new database for the server, and a user that's able to access it. (CREATE DATABASE retrospy; GRANT ALL PRIVILEGES ON retrospy.* TO 'retrospy'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; FLUSH PRIVILEGES;)

Then, drop this SQL file into the newly created database.

INI Setup

[Server]

DefaultIP=The public ip or domain of the server

[Database]

Username=The name of the database user required to login (In the commands before it was retrospy)

Password=Password of the user (In the commands before it was password)

Name=If you're using MariaDB, you have to type the database name. If you're using SQLite, you have to type the name of the SQLite file

Type=MariaDB or SQLite

[Modules]

0=QueryReport2

1=PlayerSpy

2=PlayerSearch

3=NatNeg

4=PeerChat

[NatNeg]

ProbeIP=Public ip or domain of the server

MatchIP=Public ip or domain of the server


Congratulations! You have successfully setted up a RetroSpy server, the executable that you need to launch is MasterServer. It will contains all the servers that you have specified in Modules (This example sets them all).