Créez un faux serveur Minecraft en Python avec Quarry

Lorsque j'ai cherché une bibliothèque Minecraft avec Pypi, il y avait une bibliothèque appelée Quarry, alors j'ai essayé de l'utiliser.

Installation

seulement ça.

pip install quarry

Créer un faux serveur

De la conclusion, cela fonctionne avec cela.

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()

Même si vous exécutez le script, rien ne sortira, mais c'est la bonne réponse.

Maintenant, si vous vous connectez à Minecraft, vous devriez recevoir un message de déconnexion disant Pong!.

Essayez de jouer avec

ServerFactory

Une classe qui vous permet d'activer / désactiver le motd du serveur et le mode en ligne (fonction de contre-mesure de craquage), de changer l'image du serveur, etc.

Propriété

Obligatoire. Attribuez la classe `` ServerProtocol ''. Les détails seront décrits plus tard.

Une description du serveur. Cela est affiché dans la liste des serveurs.

Spécifiez l'icône du serveur. Taille jusqu'à 64x64 au format PNG (aurait dû l'être).

Nombre maximum de connexions de joueurs. Vous devez le régler sur au moins 1.

Voulez-vous activer l'authentification en ligne Mojang? S'il n'y a pas de raison particulière, laissez la valeur True.

ServerProtocol

Cette classe gère le traitement tel que lorsqu'un joueur est connecté.

Il y a quelques fonctions, mais je n'écrirai que ce que je peux comprendre.

une fonction

-- player_joined (fonction de remplacement)

Que faire lorsqu'un joueur entre. Si le mode en ligne est activé, cette fonction sera appelée une fois l'authentification terminée. De plus, il semble que la fonction `` player_joined``` de la classe parent soit appelée.

L'appel de cette fonction déconnectera le lecteur. Si vous entrez un caractère dans l'argument, ce caractère sera affiché dans le message de déconnexion du côté du joueur.

Épilogue

Si vous utilisez cette bibliothèque, vous pourrez peut-être l'utiliser comme une sorte de serveur d'authentification. Je pense que c'est une bibliothèque assez intéressante.

Si vous êtes intéressé, il semble y avoir un document, alors jetez-y un œil. (Anglais)

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

Recommended Posts

Créez un faux serveur Minecraft en Python avec Quarry
Créer un environnement virtuel avec conda avec Python
Créer une nouvelle page en confluence avec Python
Créer un dictionnaire en Python
Créer un répertoire avec python
Créer un conteneur DI avec Python
Créez un environnement virtuel avec Python!
Créer un fichier binaire en Python
Créer une chaîne aléatoire en Python
Créer un compte enfant de connect with Stripe en Python
Créons un script qui s'enregistre avec Ideone.com en Python.
Livre en spirale en Python! Python avec un livre en spirale! (Chapitre 14 ~)
Créer un décorateur de fonction Python avec Class
Créez une image factice avec Python + PIL.
Créer une application GUI simple en Python
[Python] Créez un environnement virtuel avec Anaconda
Créons un groupe gratuit avec Python
Créer un compteur de fréquence de mots avec Python 3.4
[GPS] Créer un fichier kml avec Python
Créer un enregistrement avec des pièces jointes dans KINTONE à l'aide du module de requêtes Python
Créer un cadre avec un arrière-plan transparent avec tkinter [Python]
Créez un environnement de test Vim + Python en 1 minute
Créer un fichier GIF en utilisant Pillow en Python
[Python] Récupérez les fichiers dans le dossier avec Python
Créer un LINE BOT avec Minette pour Python
Je veux créer une fenêtre avec Python
Créer un graphique de distribution normale standard en Python
Comment créer un fichier JSON en Python
Créer une page qui se charge indéfiniment avec python
Démarrez un serveur Web Python simple avec Docker
Créer un environnement de construction python3 avec Sublime Text3
Configurez un serveur SMTP de test en Python.
Créer une barre de couleurs avec Python + Qt (PySide)
Créer une image avec des caractères avec python (japonais)
Étapes pour créer un bot Twitter avec Python
Lancer un serveur Web avec Python et Flask
Créer un modèle d'investissement dynamique simple en Python
Travaillez dans un environnement virtuel avec Python virtualenv.
Créer un widget avec une couleur spécifiée avec Python + Qt (PySide)
Créer un objet datetime à partir d'une chaîne en Python (Python 3.3)
Configurer un serveur SMTP simple en Python
Créer un fichier au format Photoshop (.psd) avec python
Créer un package contenant des commandes globales en Python
Créez un fichier MIDI en Python en utilisant pretty_midi
Créer un modèle d'antenne cadre en Python dans KiCad
Facile à créer une application console Python avec Click
Créer un serveur "Hello World" (HTTP) dans Tornado
[Docker] Créez un environnement jupyterLab (python) en 3 minutes!
Créez rapidement un serveur API avec Python + Falcon
Créer un module Python
Créer Spatia Lite en Python
Créer un environnement Python
Serveur DNS en Python ....
Serveur local avec python
Mettez Docker dans Windows Home et exécutez un serveur Web simple avec Python
Créer un projet et une application Django dans un environnement virtuel Python et démarrer le serveur