MedievaLands [closed source] is a a recreation of an early MMORPG. The desktop client runs on .NET Framework on Windows and macOS. The server runs on .NET Core on Linux. The website is written in PHP and runs on Apache on Linux. 126,500 lines of C#.
[ ] Worlds should belong to an owner, and have invited developers and testers.
[ ] Owner must be able to transfer ownership, manage admin data, and have all developer powers.
[ ] Developers should be able to add testers and change the world.
[ ] Oooh, this sounds like guilds!
[ ] Worlds must have own properties/flags that are used by players.
[ ] Worlds must have own monsters, items.
[ ] This will likely be very difficult to accomplish.
[ ] Distinguish between "published" and "development" worlds.
[ ] On publish, fork the world and maintain the development branch.
[ ] Publish must kick everyone out of the world.
[ ] Owner must be able to modify flags for all players. Should this be properties?
[ ] Map editor must send changes to server, which will reflect them out to other people working on the same map. Or else a map is locked; only one person can edit at a time. Yes, that's the better take.
[ ] Maps in worlds should be able to reference scripts.
[ ] Scripts may be loxscript or c#. But ugh, having two different formats sucks!
[ ] Tw will keep its transpiled C# scripts. So I need a way to hook these in.
[ ] Ys may be moved to new LoxScript as a test case.