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 python 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 build -f Dockerfile -t unispy-python . to build the docker image used for compose services
  • 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 (This is optional, if not config env the program will read the config file in common folder by default)

How to develop

  • Open with local vscode:
    • Use vscode to open the src folder in devcontainer (make sure your vscode have devcontainer extension)
    • Run pip install -r requirements.txt to install the pip packages
  • Open with github codespace:
    • Github codespace vscode web can not install devcontainer, the project can not running in docker network unispy. Therefore, replace http://unispy_backends:8080 to http://localhost:8080 and unispy_postgresql, unispy_redis to localhost in config.json to use localhost postgres and redis in docker (we already setup in docker-compose-unispy-env.yml)

Releases

No releases published

Packages

 
 
 

Contributors

Languages