I need a script / piece of software, ideally written in Python, that will efficiently query Minecraft servers asynchronously and update their info in a MySQL database. Specifically:
- The script needs to run 24/7.
- The script should ideally use the Minecraft Server List Ping protocol ( [login to view URL] ) which does not require an additional query port and is compatible with servers above version 1.7
- The script needs to query Java edition servers, Bedrock edition servers, and servers using both protocols.
- The script needs to work with servers utilizing SVR records.
- The script and all necessary third party software (Python?) need to be easily installable on an Ubuntu server.
- Installation instructions need to be provided. The script will need to launch automatically on bootup.
- The script needs to constantly query servers, refreshing the server's info in the database.
- The script must be very consistent in it's resource usage (CPU usage and MySQL Database usage need to be steady, without large spikes, and as efficient as possible. It needs to be constantly querying and updating servers in parallel, as opposed to synchronously querying lots of servers at once every X minutes).
In addition to server info, the script will also need to keep track of:
- When the server was last queried,
- Total server downtime (lifetime),
- Total consecutive server downtime.
You will be provided existing database schema, containing server information you can use to test query servers, and all the fields that need to be updated for the website's functionality.
If you have any questions, please let me know.