Release 5
drakewill-CRL
released this
21 Jun 02:25
·
616 commits
to master
since this release
Release 5 changelog:
- Added an Arts/Culture category to default tags. It has a fair amount of overlap with the Tourism tag, so there may be some debate internally on if this gets merged into that.
- Added a NamedBuilding category to default tags. Should help identify buildings that are more likely to be public/notable from private buildings like houses, and possibly identify buildings that aren't tagged as anything else but have points contained in them that are.
- Better use of middleware on startup, makes everything just slightly faster.
- Added a per-user-login PraxisAuthentication logic. Can replace or complement the per-app PraxisHeaderCheck logic. New auth requiring creating an account and logging into it before any other calls will succeed. The header check may remain useful early on in a game's development, or for games that don't require player-specific data.
- Added early anti-cheat feature: requires each user to upload specific files to the server to validate that they're using a valid copy of the expected client. Should prevent most modifications to a client-side game from working if used on some kind of code file, assuming code files could be read by the game running it.
- PraxisMapper will now load DLLs with a class that implements IPraxisPlugin from PraxisCore and use any controllers or views defined in it. This allows you to write new endpoints for the server without editing the core code.
- Data/Area/All calls no longer grab entries that share a border with the requested Cell
- The secure options for saving/checking a user's account/password have been moved from /SecureData to /Server.
- New option for splitting a PBF file into separate output files by tagged area.
- Endpoints now offer a replacement path value to hide sensitive data from PerformanceTracker when its enabled.
- Data, SecureData, StyleData, and MapTile endpoints on the server can now be blocked from external calls. This allows a plugin-driven game to be server-side authoritative by ensuring clients never access data directly. This is not necessary for games with a small audience or learning the system, but allows more professional work to be done overtop of PraxisMapper.
- New endpoint: /Server now handles some commands that apply more to the infrastructure of the server or game than actual in-game data, like boundaries.
- Can now do /Increment calls on the SecureData endpoints.
- Message of the Day support added, on /Server/MOTD
- Maintenance message can be set that blocks all endpoints from returning their usual data, and instead sends the maintenance message.
- Other optimizations, security updates, and bugfixes