Skip to content

GameProgressive/UniSpyServer

Repository files navigation

UniSpy Server

license CIPass
platforms
discord-banner

UniSpy is a GameSpy Project that aims to create GameSpy services.

The server is written in C# and is inspired by the old OpenSpy project.

Information & Documentation

See the wiki for more information about project and the UniSpy Server. You can also use our Software Development Kit to create games or learn about the UniSpySDK.

Technical papers and documentation about the GameSpy protocol and the games that use it, GameSpyDocs.

Credits

License

This project is licensed under the GNU Affero General Public License v3.0.

Why rewrite C# to python

  • The vscode extensions for C# development is become more and more hard to use, and microsoft abandoned the open-source OmniSharp project and replacing it with it's own closed source language server.
  • The c# project seems hard to run by users, it require a lot of deploy knowledge and hard for collaborations, for the future of the gamespy emulator, I choose to rewrite this into a opensource and easy high level language - python.

How to run

  • Run docker network create unispy to setup a network for unispy
  • Run docker compose -f docker-compose-unispy-env.yml up -d to setup postgresql and redis
  • Run export UNISPY_CONFIG='<path of config.json>' to setup env config file path, remember replace symbol <path of config.json> with config file path
  • Open with vscode:
    • Use vscode to open the src folder and reopen in devcontainer (make sure your vscode have devcontainer extension)
  • open with github codespace:
    • add unispy_config = "<path of config.json>" after the line of unispy_config = os.environ.get("UNISPY_CONFIG") in config.py (for unittest working)
    • github codespace vscode web can not install devcontainer, the project can not running in docker network unispy. Therefore, replace "server": "unispy_postgresql" and "server": "unispy_redis" to "server": "localhost" in config.json to use localhost postgres and redis in docker (we already setup)

Releases

No releases published

Packages

No packages published

Contributors 6

Languages