Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


A Game of Economies, Diplomacy, Warfare on planet earth using Google Maps. Join the game at or join the community at /r/LandGrab.

To set up a local instance

  • Place files in webroot with proper permissions
  • Configure database connection and token in auth.php
  • Run sql/landgrab.sql, and sql/world.sql as sql commands in database
  • You may need to add your domain under base_url in config/config.php
  • You may need to disable HTTPS redirect in config/autoload.php
  • Set a cron for * * * * * php -f /ABSOLUTE_PATH_HERE/crons/CRON_NAME_HERE.php for every cron in the crons folder (Set cycle as desired to match CYCLE_MINUTES constant)
  • Alternatively, use your browser to send a request to localhost/landgrab/cron/CRON_NAME_HERE/TOKEN_HERE to trigger a cron

Unconventional Decisions

  • For performance reasons, many keys are in a constants file to be referenced without needing queries or joins for that value
  • Township inputs are hardcoded because of the complexity of the grouped inputs of food and cash crops
  • Note: api_response and api_error_response both echo and exit so no return needed.
  • In retrospect, I should have used objects to hold the functions, but right now all functions are global.