Keep in mind that this project is in beta. So there could be breaking changes.
All issues should be reported.
- Website Documentation with live testing (Searching for help for this)
- Name->UUID Basic feature
- Cache it for ten minutes
- Cache with configurable amount of time (and visible in the json format)
- Persistent database (visible in the JSON format)
- Configurable different source IPs sending the request to Mojang
- Skin API
- Avater API Skin/Head
- Server Ping API (i.e. icon only)
- SRV Resolve
- Has paid API
- Web stats
- Name History API
- Server Query API
- Support for MCPE servers
- Server version mapping
- Plugin API
- Buycraft API
- Is up query
- Multiple Name resolve requests
- Wait some milliseconds to make concat some requests into a single one
- Master-Slave support?
- Random requests
- UUID -> Name resolve
- Validate input requests
- Banner Generator (skin and head)
- Votifier API
- Blocked server query
- Ban API
- Legacy (Mojang like routes and responses)
- Mojang Assets, Status API
- Caching (and cache headers) for images
- Configurable HTTP-Proxies
- Unit test the request handling
- Workaround rate-limiting by global caching and using http-proxies
- Flexible API (if you have suggestions let us know)
- Developer friendly, clear responses -> i.e. NOT returning a cracked player response if there is a issue with our servers
- Open Source
- Open for changes and suggestions
- Simulate a Mojang API out of the box
- Clone this project
- Run
composer install
or as a developercomposer install --dev
- Make a .env for local configuration
- Check the configuration settings
- Let your webserver point to the public directory
- Start the all the necessary servers (i.e. MySQL, memcache, redis, NGINX...)
- Setup the database structure:
php artisan migrate
Framework documentation: https://lumen.laravel.com/docs/5.2
php artisan ide-helper:models yes
php artisan ide-helper:generate
php artisan make:migration
Edit the file what should happen if the migration run (Up) and how it can be reverted (Down)
Some libraries are used or splitted into modules in order to keep the project simple. Here is the list of lib in use.
- https://github.com/games647/Minecraft-Skin-Renderer (MIT)
- https://github.com/xPaw/PHP-Minecraft-Query/ (MIT)
- https://github.com/Spirit55555/PHP-Minecraft (GPLv3)
- JSON Browser Plugin Chrome: JSON View: https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc Firefox: JSON View: https://addons.mozilla.org/en-US/firefox/addon/10869/
-
get('/uuid/{name}')
-
get('/hasPaid/{username}')
-
get('/name-history/{uuid}/all')
-
get('/name-history/{uuid}')
-
get('/name-history/{uuid}/{time}')
-
get('/properties/{uuid}')
-
get('/skin/{uuid}')
-
get('/avatar/{uuid}')
-
get('/domain/{domain}')
-
get('/ping/{domain}')
-
get('/ping/{domain}/players')
-
get('/ping/{domain}/icon')
-
get('/ping/{domain}/motd')
-
get('/ping/{domain}/player-count')
-
get('/stats')