Skip to content

Releases: PraxisMapper/PraxisMapper

Release 2 "Steps Forward"

05 Dec 15:02
Compare
Choose a tag to compare

Release 2 introduces a bunch of new stuff that should make PraxisMapper easier to use and enable more style of games to work with it.

PraxisMapper:

  • StyleSets for maptiles now have drawing units in degrees, not pixels. This means elements will stay the same proportional size as you zoom in and out, instead always being drawn the same size at all zoom levels. Existing gameplay tiles should look very close to the new ones, but slippy tiles will look less like OSM now.
  • Gameplay maptiles have a scale factor exposed, so you can render higher-res Cell8 sized tiles than before. (They will always be in a 4:5 aspect ratio, since an 11-character PlusCode is used as the base pixel and those are arranged in a 4x5 grid)
  • SecureData controller and its endpoints have been added. Pass in a key/value pair and a password, and the value will be stored encrypted in the DB. A stronger pair of endpoints for account passwords is provided as well.
  • Data and SecureData endpoints can now be expired. Pass in how many seconds the data should be active for at the end of your existing data call, and it'll set the expiration time. Expired data will not be returned, and will eventually be deleted from the server automatically.
  • PbfReader can now be set to match on a non-default style set, if you want to pull out data for use outside of maptiles.
  • Endpoints for getting the center of a place and the distance to a place from a point have been added.

Larry

  • Larry can now process the OSMCoastline shapefiles into usable Geometry. Run Larry with -processCoastlines:shapeFileName.shp to make the intermediate file to load.
  • You can use -makePosterImage to draw all elements in your data to a single image, scaled to fit a 36"x24" poster at 300dpi.
  • -resetStyles will now delete and re-load the default tag parser style entries to a live DB.

Incomplete

  • Admins can now edit some data without going into the database directly. Navigate to AdminView/EditData to load or tweak saved data. These editors are still in a very early state, but they function.
  • A wizard mode command has been added to do a more thorough check of the server environment and assist in initial setup. Run "larry -makeWholeServer" and it will do its best to check the server's state and install missing components and do some basic configuration for you.
  • Linux support for PraxisMapper remains untested. My environment of choice is the default AWS Amazon Linux 2 setup on their t4g servers, which use ARM CPUs. Larry runs well on them when processing files, but I have been unable to successfully get SkiaSharp to work in that environment, which prevents the PraxisMapper server from running at all. You may be able to get PM to work in other Linux distros.

Release 1 "My Way"

30 Sep 16:52
Compare
Choose a tag to compare

PraxisMapper Release 1 is done.
This release will let you start working on a location-based game with PraxisMapper.
You will, however, have to set up the same environment I'm using for this release.
MariaDB is thoroughly tested and reliable. SQL Server will probably work, but hasn't been evaluated. PostgreSQL will almost certainly have some issues, though some commands will succeed. The setup process will be streamlined and allow for more options in future releases.

SETUP
Install MariaDB 10.6
Update the connection strings in Larry.config.json and appsettings.json to use your MariaDB server.
Download the smallest extract file you can from geofabrik.de that covers the area you want to server to handle.
Save your extract file to C:\Praxis (or update the Larry.config.json file to point at your chosen folder for the file)
Search openstreetmap.org for the exact area you want your server to handle (assuming it is smaller than the extract file you downloaded), and update Larry.config.json with the relation id for that area.
Run "Larry.exe -makeServerDb" This could take about 20 minutes for a county, or several hours for most US states.
Run PraxisMapper.exe to start the webserver on port 5000
Now you can start hitting the API endpoints in the documentation and begin working on your game, or go to http://localhost:5000/slippy to see the maps your server is drawing.

You can also host the application folder in IIS for advanced webserver use and configuration, but those instructions are omitted here.