Help Wanted: Vault and Launcher(s) - Python, Steam, GM
With the retirement of Jesusalva, the team is stretched thin and some projects
are in danger of following him into retirement. Fortunately, this also means a
vacancy has opened for you, intrepid reader, to join the Manasource team!
These projects form the backbone of our plans to launch on Steam and additionally
provide secure game logins. We would like to pass the torch to one or more people
who can carry this through to a release on Steam and beyond.
Vault is a simple account manager. When a player logs in and picks a world, the Vault
master generates a one-time-password and sends this both to the server in question
and back to the launcher. The launcher then launches the client, passing it the generated
password. These are the rough basics, but it also has some extra features.
Software & services in question:
- Vault master (part of ML API) (vault.py @ https://git.themanaworld.org/vault/apiv2.git)
- Vault connectors on both Dezi (TMW & Crossroads) and Agnus (ML)
- Crossroads (the glue world for cross-server events)
- Renpy Launcher (Python, https://git.themanaworld.org/launcher/renpy.git)
- TCL/TK Launcher (Python, https://git.themanaworld.org/launcher/tkinter.git)
- Lite script Launcher (Python, ^)
- All-in-all, this is about 2000 lines of Python to take care of.
The tasks this would probably involve are:
- setting up a local Vault setup that mirrors production (+local TMW, local ML, local Crossroads)
- writing CI scripts to setup the above and test as part of your development (and reuse in client/server pipelines)
- testing the launcher+client on all major platforms.
- being reachable to (help) resolve operational issues
- (optionally) helping manage the game page(s) on Steam/elsewhere (e.g. responding to comments about issues)
Some notes on this by me (others can add their own):
- Jesusalva is still around as an advisor should you hit a wall in understanding the services
- Operational side I can help handle the Vault SSO master for redundancy
- I was unable to compile the Renpy launcher myself and Renpy itself looks to be bloatware.
Thus I recommend (but not demand) porting any missing feature from Renpy launcher to the simpler TCL/TK one and deprecating the former. - The lite/script launcher can also be moved to a submode of the TCL/TK one or left as-is.
- Crossroads would need a cross-server eventer to bring some life to it (GM/eventer task).
Also, note that most players no longer use the launcher, so they'd have to re-link. This hinges on Vault and launchers being maintained.