Agent Smith is a self-contained System Tray Application software with Flask Server backend housing an API, written in Python. The GUI built with PyQT and uses the Operator client to communicate with the server.
Some of Agent Smith's core features are:
- Installation of Supported Game Servers.
- Ability to Start/Stop/Restarted Game Servers.
- Provide API Access to external users via API.
- Security with NGINX/SSL/HTTPS & Token-Based Access controls.
All supported games can be found here.
To learn how to use Agent Smith please read the User Guide
Security is a big deal, the author wrote a whole section about it. Have a look at the Security Docs.
- For packaging up and making an installer in the future - https://pyinstaller.org/en/stable/index.html
- SteamCMD Documentation - https://developer.valvesoftware.com/wiki/SteamCMD
- I found pythonsteamcmd here - https://github.com/f0rkz/pysteamcmd and it was helpful so I did not have to rebuild an interface to steamcmd.
- All other dependencies, have a look at requirements.txt.