Various TurgGame service utilizing the Turf API https://wiki.turfgame.com/sv/wiki/TurfAPI
  • Java 80.1%
  • HTML 17.1%
  • JavaScript 2%
  • CSS 0.8%
Find a file
2026-07-04 13:44:12 +02:00
common rebuild for Tomcat 10 / Jakarta EE 2026-05-06 07:32:10 +02:00
doc updated HTML pages 2019-11-10 09:03:05 +01:00
libs rebuild for Tomcat 10 / Jakarta EE 2026-05-06 07:32:10 +02:00
server service suspicious-takes added 2026-07-04 13:44:12 +02:00
servlet rebuild for Tomcat 10 / Jakarta EE 2026-05-06 07:32:10 +02:00
tomcat rebuild for Tomcat 10 / Jakarta EE 2026-05-06 07:32:10 +02:00
WebContent service suspicious-takes added 2026-07-04 13:44:12 +02:00
.gitignore update .gitignore 2019-11-10 21:35:43 +01:00
build.gradle service suspicious-takes added 2026-07-04 13:44:12 +02:00
LICENSE Initial commit 2019-10-04 15:00:50 +02:00
README.md fix handling when service is not started 2023-10-19 09:19:31 +02:00
settings.gradle rebuild for Tomcat 10 / Jakarta EE 2026-05-06 07:32:10 +02:00

turf-game

This is a a hooby project for exposing some statistics for the location based GPS game Turf Game. If you are not familiar with this outdoor addicting game you can read about it here:

The services developed utilize the Turf API https://wiki.turfgame.com/sv/wiki/TurfAPI for retreiving statistical information.

Overall Solution

alt text

Turf Server

Is the central component running all the services. The component is implemented as a daemon. The server implements three different services being exposed via REST and HTML, you can access it here . The three services are described below. At startup the server reads a configuration file turf-server.cfg The configuration file specifies what server to run and what to do.

The server constantly pull information of the Turf Game Server using the public TurfAPI. The info via the APi is real-time info from the game but is has to be pulled of the server.

Mongo DB

The Turf server maintain in memory service states and statistics. A mongo database for persisting long living data and states.

HTML and Rest

The services implemented are accessible via HTML pages and REST.

Services

The services are implemented as separate plugins in the Turf server. They can be enabled/disabled by changing the server configuration file.

The services are found in under the package https://github.com/hoddmimes/turf-game/tree/master/server/src/main/java/com/hoddmimes/turf/server/services

  • Top Sessions, tracking session having more than 25 takes and ranking the best 100 session based upon points achieved per hour.
  • Day Ranking, display a daily ranking of turf users in a region. The ranking is reset every 24 hrs at midnight.
  • Zone Notification, allows users to setup subscription for zone takes they have an interest in. Every time the zone for which they have a subscription is taken a mail is received.
  • Region Statistics, compares statistics about statistics for regions.
  • Heat Map, color encode zones in region Stockholm based upon the time since they were taken.

An instance of the Turf server is running on hoddmimes.com and the services are available via the

https://hoddmimes.com/turf.html