Shadow Empire is an interesting, but poorly written game. Only multiplayer it supports is Play By EMail, and it does not feature any real security in it.
So, one can play improvised play-by-cloud games using sync tools like syncthing, but how to notify other players to make their turn?
One solution would be to watch for file changes, but 1. SE overwrites file on load for no reason at all1, thus making sync noise, 2. What if there are more than two players?
1. Set up synchronization of saves (savedgames in SE folder, or a subfolder) across all players
2. Set up a new PBEM game and save+quit. Last player will be the one processing AI, so it’s better to make sure they have a beefy machine.
3. Run sewatcher like this: ruby sewatcher.rb config.yml
. Example of config: example.yml
4. You will be notified when it’s your turn, just load game, make your turn and save to the same file.
This Linux tool watches a directory given as first argument for changes to .se1 files, parses save files when they arrive for turn number, and notifies you using notify-send
and/or STDOUT when your turn is up.
apt install ruby-rb-inotify libnotify-bin
Also you need some notification daemon running. Your DE likely includes one, if not, I suggest dunst
The parser is kludgey and relies on you using the default random planet scenario.
Shadow Empire saves are ZIP archives with single serialized file. Password is “GarfieldJonesCat”.
1 Well, it does update the save file to mark you as a POSSIBLE CHEATER for loading save multiple times, but this is very easy to circumvent and mostly annoys player by further extending the loading process.