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.
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.
- The contributors of the project
- Luigi Auriemma for his gamespy papers that were used as a reference
- BattleSpy for their library, that we used as a base for UniSpy
- NetCoreServer for their TCP and UDP server
This project is licensed under the GNU Affero General Public License v3.0.
- 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.
- Run
docker network create unispyto setup a network for unispy - Run
docker compose -f docker-compose-unispy-env.yml up -dto 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 ofunispy_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)
- add
