Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Minecraftforge | 6,169 | 19 hours ago | 181 | other | Java | |||||
Modifications to the Minecraft base files to assist in compatibility between mods. | ||||||||||
Worldedit | 2,775 | 3 days ago | 152 | other | Java | |||||
🗺️ Minecraft map editor and mod | ||||||||||
Iris | 2,726 | a day ago | 182 | lgpl-3.0 | Java | |||||
(WIP) A modern shaders mod for Minecraft intended to be compatible with existing OptiFine shader packs | ||||||||||
Create | 2,027 | 5 days ago | 1,512 | mit | Java | |||||
[Forge Mod] Building Tools and Aesthetic Technology | ||||||||||
Dynmap | 1,835 | a month ago | 69 | apache-2.0 | Java | |||||
A set of Minecraft mods that provide a real time web-based map system for various Minecraft server implementations. | ||||||||||
Catserver | 1,742 | 4 days ago | 41 | lgpl-3.0 | Java | |||||
高性能和高兼容性的1.12.2/1.16.5/1.18.2版本Forge+Bukkit+Spigot服务端 (A high performance and high compatibility 1.12.2/1.16.5/1.18.2 version Forge+Bukkit+Spigot server) | ||||||||||
Scriptcraft | 1,473 | 3 years ago | 72 | mit | JavaScript | |||||
Write Minecraft Plugins in JavaScript. | ||||||||||
Opencomputers | 1,444 | 2 days ago | 94 | other | Scala | |||||
Home of the OpenComputers mod for Minecraft. | ||||||||||
Fabric Carpet | 1,430 | 9 days ago | 283 | mit | Java | |||||
Fabric Carpet | ||||||||||
Meteor Client | 1,371 | 5 days ago | 505 | gpl-3.0 | Java | |||||
Based Minecraft utility mod. |
MineStat is a Minecraft server status checker.
You can use these classes/modules in a monitoring script to poll multiple Minecraft servers, include similar functionality in a Discord bot, or to let visitors see the status of your server from their browser. MineStat has been ported to multiple languages for use with ASP.NET, FastCGI, mod_perl, mod_php, mod_python, Node.js, Rails, Tomcat, and more.
If you are planning to host MineStat on a shared webhost, make sure that the provider allows outbound sockets.
Note: The Go, JavaScript, and Perl implementations are currently under development.
Protocol | C# | Go | Java | JavaScript | Perl | PHP | PowerShell | Python | Ruby |
---|---|---|---|---|---|---|---|---|---|
1.8b/1.3 (beta) | ✔️ | ✔️ | ✔️ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
1.4/1.5 (legacy) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
1.6 (extended legacy) | ✔️ | ❌ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
>=1.7 (JSON) | ✔️ | ❌ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
Bedrock/PE/RakNet | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ✔️ |
UT3/GS4 Query | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔️ | ✔️ |
using System;
using MineStatLib;
class Example
{
public static void Main()
{
MineStat ms = new MineStat("minecraft.frag.land", 25565);
Console.WriteLine("Minecraft server status of {0} on port {1}:", ms.Address, ms.Port);
if(ms.ServerUp)
{
Console.WriteLine("Server is online running version {0} with {1} out of {2} players.", ms.Version, ms.CurrentPlayers, ms.MaximumPlayers);
if(ms.Gamemode != null)
Console.WriteLine("Game mode: {0}", ms.Gamemode);
Console.WriteLine("Message of the day: {0}", ms.Stripped_Motd);
Console.WriteLine("Latency: {0}ms", ms.Latency);
Console.WriteLine("Connected using protocol: {0}", ms.Protocol);
}
else
Console.WriteLine("Server is offline!");
}
}
To use the Go package: go get github.com/FragLand/minestat/Go/minestat
package main
import "fmt"
import "github.com/FragLand/minestat/Go/minestat"
func main() {
minestat.Init("minecraft.frag.land")
fmt.Printf("Minecraft server status of %s on port %d:\n", minestat.Address, minestat.Port)
if minestat.Online {
fmt.Printf("Server is online running version %s with %d out of %d players.\n", minestat.Version, minestat.Current_players, minestat.Max_players)
fmt.Printf("Message of the day: %s\n", minestat.Motd)
fmt.Printf("Latency: %dms\n", minestat.Latency)
fmt.Printf("Connected using protocol: %s\n", minestat.Protocol)
} else {
fmt.Println("Server is offline!")
}
}
import land.Frag.MineStat;
class Example
{
public static void main(String[] args)
{
MineStat ms = new MineStat("minecraft.frag.land", 25565);
System.out.println("Minecraft server status of " + ms.getAddress() + " on port " + ms.getPort() + ":");
if(ms.isServerUp())
{
System.out.println("Server is online running version " + ms.getVersion() + " with " + ms.getCurrentPlayers() + " out of " + ms.getMaximumPlayers() + " players.");
System.out.println("Message of the day: " + ms.getMotd());
System.out.println("Message of the day without formatting: " + ms.getStrippedMotd());
System.out.println("Latency: " + ms.getLatency() + "ms");
System.out.println("Connected using protocol: " + ms.getRequestType());
}
else
System.out.println("Server is offline!");
}
}
To use the npm package: npm install minestat
var ms = require('minestat');
ms.init('minecraft.frag.land', 25565, function(result)
{
console.log("Minecraft server status of " + result.address + " on port " + result.port + ":");
if(result.online)
{
console.log("Server is online running version " + result.version + " with " + result.current_players + " out of " + result.max_players + " players.");
console.log("Message of the day: " + result.motd);
console.log("Latency: " + result.latency + "ms");
}
else
{
console.log("Server is offline!");
}
});
To use the CPAN module: cpan Minecraft::ServerStatus
use Minecraft::ServerStatus;
$ms = Minecraft::ServerStatus::init("minecraft.frag.land", 25565);
print "Minecraft server status of $ms->{address} on port $ms->{port}:\n";
if($ms->{online})
{
print "Server is online running version $ms->{version} with $ms->{current_players} out of $ms->{max_players} players.\n";
print "Message of the day: $ms->{motd}\n";
print "Latency: $ms->{latency}ms\n";
}
else
{
print "Server is offline!\n";
}
Note: MineStat for PHP requires multi-byte string support to handle character encoding conversion. Enabling mbstring
support can be as simple as installing the php-mbstring
package for your platform. If building PHP from source, see https://www.php.net/manual/en/mbstring.installation.php. To validate, phpinfo()
output will reference mbstring
if the feature is enabled.
<?php
require_once('minestat.php');
$ms = new MineStat("minecraft.frag.land", 25565);
printf("Minecraft server status of %s on port %s:<br>", $ms->get_address(), $ms->get_port());
if($ms->is_online())
{
printf("Server is online running version %s with %s out of %s players.<br>", $ms->get_version(), $ms->get_current_players(), $ms->get_max_players());
if($ms->get_request_type() == "Bedrock/Pocket Edition")
printf("Game mode: %s<br>", $ms->get_mode());
printf("Message of the day: %s<br>", $ms->get_motd());
printf("Message of the day without formatting: %s<br>", $ms->get_stripped_motd());
printf("Latency: %sms<br>", $ms->get_latency());
printf("Connected using protocol: %s<br>", $ms->get_request_type());
}
else
{
printf("Server is offline!<br>");
}
?>
To install the module: Install-Module -Name MineStat
Import-Module MineStat
$ms = MineStat -Address "minecraft.frag.land" -port 25565
"Minecraft server status of '{0}' on port {1}:" -f $ms.Address, $ms.Port
if ($ms.Online) {
"Server is online running version {0} with {1} out of {2} players." -f $ms.Version, $ms.Current_Players, $ms.Max_Players
"Message of the day: {0}" -f $ms.Stripped_Motd
"Latency: {0}ms" -f $ms.Latency
"Connected using SLP protocol '{0}'" -f $ms.Slp_Protocol
}else {
"Server is offline!"
}
To use the PyPI package: pip install minestat
import minestat
ms = minestat.MineStat('minecraft.frag.land', 25565)
print('Minecraft server status of %s on port %d:' % (ms.address, ms.port))
if ms.online:
print('Server is online running version %s with %s out of %s players.' % (ms.version, ms.current_players, ms.max_players))
# Bedrock specific attribute:
if ms.gamemode:
print('Game mode: %s' % ms.gamemode)
print('Message of the day: %s' % ms.motd)
print('Message of the day without formatting: %s' % ms.stripped_motd)
print('Latency: %sms' % ms.latency)
print('Connected using protocol: %s' % ms.slp_protocol)
else:
print('Server is offline!')
See the Python specific readme (Python/README.md) for a full list of all supported attributes.
To use the gem: gem install minestat
require 'minestat'
ms = MineStat.new("minecraft.frag.land", 25565)
puts "Minecraft server status of #{ms.address} on port #{ms.port}:"
if ms.online
puts "Server is online running version #{ms.version} with #{ms.current_players} out of #{ms.max_players} players."
puts "Game mode: #{ms.mode}" if ms.mode
puts "Message of the day: #{ms.motd}"
puts "Message of the day without formatting: #{ms.stripped_motd}"
puts "Latency: #{ms.latency}ms"
puts "Connected using protocol: #{ms.request_type}"
else
puts "Server is offline!"
end
Feel free to submit an issue if you require assistance or would like to make a feature request. You are also welcome to join our Discord server. Any contributions such as build testing, creating bug reports or feature requests, and submitting pull requests are appreciated. Our code style guidelines can be found in the "Coding Convention" section of CONTRIBUTING.md. Please see the fork and pull guide if you are not certain how to submit a pull request.