kostenloser Webspace werbefrei: lima-city


Minecraft onlinestatus

lima-cityForumProgrammiersprachenSonstige Programmiersprachen

  1. Autor dieses Themas

    worldwidecrafting

    worldwidecrafting hat kostenlosen Webspace.

    Hallo zusammen ich habe eine Frage gibt es einen Script um auf der webseite zu veröffentlichen ob der minecraftserver online ist oder nicht?



    danke schon im vorraus


    mfg worldwidecrafting


    Minecraft server: worldwidecrafting.nitrado.to
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    Da nicht beschrieben ist, wie und mit welcher Programmiersprache das gelöst werden soll:
    verschoben nach "sonstige Programmiersprachen"
  4. Schau mal hier: http://wiki.nitrado.net/index.php/Serverstatus_script
  5. Könntest du mit PHP realisieren ( fopen..), oder du nimmst xPaw's Minecraft-Query
  6. Falls du einen Bukkit-Server benutzt, kann ich dir nur das Plugin SimplePlayerList (http://dev.bukkit.org/server-mods/simple-player-list/ empfehlen. Das funktioniert eigentlich recht gut, du musst zum einen das Plugin installieren und per andere Dateien auf einen Webspace hochladen. Dann nurnoch die Config anpassen.
    Ich hoffe ich konnte dir noch helfen.
  7. mf-hd schrieb:
    Könntest du mit PHP realisieren ( fopen..), oder du nimmst xPaw's Minecraft-Query

    Nicht fopen!
    Wenn CGI bloß funktionieren würde...
    ...dann könte man es viel besser lösen!
  8. Hallo :wave:

    http://www.elitepvpers.com/forum/minecraft-guides-strategies/1427555-php-funktion-status-api.html
    ^ das funktioniert auf jeden Fall.

    $serverstatus = mc_status(serverip:port);
    echo "Server online, ".$serverstatus[cur_players]." of ".$serverstatus[max_players]." are on the server, the MOTD is ".$serverstatus[motd]."";


    Oder so ähnlich. :biggrin:

    mfg :wave:
  9. So was lässt sich übrigens auch ganz einfach selbst programmieren, ich hab' so was letztens mal in Python gemacht:
    #!/usr/bin/python3
    import socket
    from distutils.version import StrictVersion
    
    def getinfo(host, port, timeout):
    	## Set up socket:
    	s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    	s.settimeout(timeout)
    	s.connect((host, port))
    	## Send request:
    	s.send(b"\xfe")
    	s.send(b"\x01")
    	## Receive response:
    	data = s.recv(300).decode("utf8", "ignore").split("\x00\x00\x00")
    	## Close socket:
    	s.close()
    	## Get server info:
    	return {
    		"version": StrictVersion(data[2].replace("\x00", "")),
    		"hostname": data[3].replace("\x00", ""),
    		"players": int(data[4]),
    		"maxplayers": int(data[5])
    	}


    Man sendet einfach ein FE-Byte und danach in einem extra Paket nochmal ein 01-Byte (beides Hexadezimal-Schreibweise) an den Minecraft-Server und bekommt als Antwort Server-Version, den Namen des Servers (als UTF-16), die Anzahl der Spieler und die maximale Anzahl der Spieler.

    Lg
    cookies

    PS: Wenn du natürlich nur wissen willst, ob der Server online ist, kannst du dich einfach testweise verbinden und schauen, ob eine Bestätigung, ein Fehler oder gar nichts (-> Timeout) zurück kommt. Sollte bei PHP mit fsockopen() kein Problem sein, bei Python einfach mit dem socket-Modul, so ähnlich wie in meinem Beispielscript oben.

    Beitrag zuletzt geändert: 22.2.2013 18:11:19 von cookies
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!