Skip to content
Go to file

Latest commit


Git stats


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


MineStats is a realtime Minecraft PC/PE servers list. You can see the current status of servers and filter them according to your criteria. You can also view server statistics over several days (or months) and compare servers to each other.

Try it!

A demo of the latest release is available on

If you like, you can install the same system to analyze your own network (Bungee, Spigot, ...).


  • Servers list
    • Realtime status
    • Display favicon and supported versions
    • Filters (by languages, versions, ...)
    • Fully responsive
  • Admin UI
    • Manage users (with simple role system)
    • Manage servers



  • Clone this repository or download a release (

  • Install composer dependencies

    composer install
  • Allow write on storage/ and bootstrap/cache/

    chmod -R 770 storage bootstrap/cache
  • Copy .env.example to .env then update the configuration (you can generate an APP_KEY with php artisan key:generate)

  • Setup and populate the database

    php artisan migrate
    php artisan db:seed
  • Setup the tasks scheduler (used for ping and stats garbage collection)

    You must run php artisan schedule:run every minutes, by example with crontab add:

    * * * * * php /path/to/minestats/artisan schedule:run
  • You can access the site. The default credentials are admin / password!


You can change configuration in .env file.


Files under :

  • public/assets/css
  • public/assets/fonts
  • public/assets/js

are generated from resources/assets using $ gulp --production (see gulpfile.js).

They must be updated and included (production version only) when pushing.

Why PHP ?

I know that PHP is not the ideal language for this kind of site in real time. But I like PHP, I like Laravel and I especially wanted to make a site that can run on a shared hosting.

Currently pings are performed by a PHP script and the client performs regular ajax calls to retrieve the data.

Subsequently, I will probably add alternative options, like:

  • A node.js server to perform pings
  • The use of websockets
You can’t perform that action at this time.