Erstellen Sie mit Quarry einen gefälschten Minecraft-Server in Python

Als ich mit Pypi nach einer Minecraft-Bibliothek suchte, gab es eine Bibliothek namens Quarry, also habe ich versucht, sie zu verwenden.

Installation

nur das.

pip install quarry

Erstellen Sie einen gefälschten Server

Aus der Schlussfolgerung geht es damit.

from twisted.internet import reactor
from quarry.net.server import ServerFactory, ServerProtocol


class QuarryProtocol(ServerProtocol):
    def player_joined(self):
        ServerProtocol.player_joined(self)
        self.close("Pong!")

class QuarryFactory(ServerFactory):
    protocol = QuarryProtocol
    motd = "Powered by Quarry!"

def main():
    factory = QuarryFactory()
    factory.listen("")
    reactor.run()


if __name__ == "__main__":
    main()

Selbst wenn Sie das Skript ausführen, wird nichts herauskommen, aber das ist die richtige Antwort.

Wenn Sie sich jetzt mit Minecraft verbinden, sollten Sie eine Trennungsmeldung mit der Aufschrift Pong! Erhalten.

Versuche damit zu spielen

ServerFactory

Eine Klasse, mit der Sie den Server-Motd- und Online-Modus (Crack-Prevention-Funktion) ein- und ausschalten, das Server-Image ändern usw. können.

Eigentum

Erforderlich. Weisen Sie die Klasse `` `ServerProtocol``` zu. Details werden später beschrieben.

Eine Beschreibung des Servers. Das wird in der Serverliste angezeigt.

Geben Sie das Serversymbol an. Größe bis zu 64x64 im PNG-Format (sollte gewesen sein).

Maximale Anzahl von Spielerverbindungen. Sie müssen mindestens 1 einstellen.

Möchten Sie die Mojang-Online-Authentifizierung aktivieren? Wenn es keinen bestimmten Grund gibt, lassen Sie es als wahr.

ServerProtocol

Diese Klasse behandelt die Verarbeitung, z. B. wenn ein Spieler verbunden ist.

Es gibt einige Funktionen, aber ich werde nur so viel schreiben, wie ich verstehen kann.

Funktion

-- player_joined (Ersatzfunktion)

Was tun, wenn ein Spieler hereinkommt? Wenn der Online-Modus aktiviert ist, wird diese Funktion nach Abschluss der Authentifizierung aufgerufen. Es scheint auch, dass die Funktion `` `player_joined``` der übergeordneten Klasse aufgerufen wird.

Durch Aufrufen dieser Funktion wird der Player getrennt. Wenn Sie einen Charakter in das Argument eingeben, wird dieser Charakter in der Trennungsmeldung auf der Spielerseite angezeigt.

Nachwort

Wenn Sie diese Bibliothek verwenden, können Sie sie möglicherweise als eine Art Authentifizierungsserver verwenden. Ich denke, es ist eine ziemlich interessante Bibliothek.

Wenn Sie interessiert sind, scheint es ein Dokument zu geben, schauen Sie also bitte dort nach. (Englisch)

https://quarry.readthedocs.io/en/latest/index.html

Recommended Posts

Erstellen Sie mit Quarry einen gefälschten Minecraft-Server in Python
Erstellen Sie eine virtuelle Umgebung mit conda in Python
Erstellen Sie eine neue Seite im Zusammenfluss mit Python
Erstellen Sie ein Wörterbuch in Python
Erstellen Sie ein Verzeichnis mit Python
Erstellen Sie einen DI-Container mit Python
Erstellen Sie eine virtuelle Umgebung mit Python!
Erstellen Sie eine Binärdatei in Python
Erstellen Sie eine zufällige Zeichenfolge in Python
Erstellen Sie ein untergeordnetes Konto für die Verbindung mit Stripe in Python
Erstellen wir ein Skript, das sich bei Ideone.com in Python registriert.
Spiralbuch in Python! Python mit einem Spiralbuch! (Kapitel 14 ~)
Erstellen Sie mit Class einen Python-Funktionsdekorator
Erstellen Sie mit Python + PIL ein Dummy-Image.
Erstellen Sie eine einfache GUI-App in Python
[Python] Erstellen Sie mit Anaconda eine virtuelle Umgebung
Erstellen wir mit Python eine kostenlose Gruppe
Erstellen Sie mit Python 3.4 einen Worthäufigkeitszähler
[GPS] Erstellen Sie eine kml-Datei mit Python
Erstellen Sie mit dem Python-Anforderungsmodul einen Datensatz mit Anhängen in KINTONE
Erstellen Sie mit tkinter [Python] einen Rahmen mit transparentem Hintergrund.
Erstellen Sie in 1 Minute eine Vim + Python-Testumgebung
Erstellen Sie eine GIF-Datei mit Pillow in Python
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Erstellen Sie mit Minette für Python einen LINE BOT
Ich möchte mit Python ein Fenster erstellen
Erstellen Sie in Python ein Diagramm der Standardnormalverteilung
So erstellen Sie eine JSON-Datei in Python
Erstellen Sie eine Seite, die unbegrenzt mit Python geladen wird
Starten Sie mit Docker einen einfachen Python-Webserver
Erstellen Sie mit Sublime Text3 eine Python3-Build-Umgebung
Richten Sie einen Test-SMTP-Server in Python ein.
Erstellen Sie eine Farbleiste mit Python + Qt (PySide)
Erstellen Sie ein Bild mit Zeichen mit Python (Japanisch)
Schritte zum Erstellen eines Twitter-Bots mit Python
Starten Sie einen Webserver mit Python und Flask
Erstellen Sie in Python ein einfaches Momentum-Investmentmodell
Arbeiten Sie in einer virtuellen Umgebung mit Python virtualenv.
Erstellen Sie mit Python + Qt (PySide) ein farbspezifisches Widget.
Erstellen Sie ein Datum / Uhrzeit-Objekt aus einer Zeichenfolge in Python (Python 3.3).
Richten Sie einen einfachen SMTP-Server in Python ein
Erstellen Sie mit Python eine Datei im Photoshop-Format (.psd)
Erstellen Sie in Python ein Paket mit globalen Befehlen
Erstellen Sie eine MIDI-Datei in Python mit pretty_midi
Erstellen Sie in KiCad ein Rahmenantennenmuster in Python
Erstellen Sie einfach eine Python-Konsolenanwendung mit Click
Erstellen Sie in Tornado einen HTTP-Server (Hello World)
[Docker] Erstellen Sie in 3 Minuten eine jupyterLab (Python) -Umgebung!
Erstellen Sie schnell einen API-Server mit Python + Falcon
Erstellen Sie ein Python-Modul
Erstellen Sie Spatia Lite in Python
Erstellen Sie eine Python-Umgebung
DNS-Server in Python ....
Lokaler Server mit Python
Stellen Sie Docker in Windows Home und führen Sie einen einfachen Webserver mit Python aus
Erstellen Sie ein Django-Projekt und eine Django-Anwendung in einer virtuellen Python-Umgebung und starten Sie den Server