如何将服务器命令控制台添加到现有服务器代码中?

时间:2019-06-06 04:21:47

标签: python loops networking server command

在将控制台命令提示符添加到游戏的现有服务器循环中时,我只需要一点帮助。我对Python有点陌生,所以我不确定要编写所需内容的最佳方法。我已经建立并运行了基本的服务器结构,但是我需要能够在服务器中键入影响播放器和服务器变量和/或参数的命令。 Minecraft Skyrim 控制台:“ set player money x”,“ kick x”,“ set time 1000

我知道如何设置实际的命令解析器和命令库,因此这不是必需的。只是概述一下我需要的东西。

我已经尝试过仅将输入函数添加到while循环中,但是即使它也不会产生错误,这似乎也无法正常工作。 如果需要澄清,我很乐意回答或编辑问题。任何帮助表示赞赏。谢谢大家。

import socket
import threading


class Server:
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    connections = []
    def __init__(self):
        self.sock.bind(('0.0.0.0', 5555))
        self.sock.listen(1)

    def handler(self, c, a):
        while True:
            data = c.recv(1024)
            for connection in self.connections:
                connection.send(data)
            if not data:
                break

    def run(self):
        while True:
            c, a = self.sock.accept()
            cThread = threading.Thread(target = self.handler, args=(c, a))
            cThread.daemon = True
            cThread.start()
            self.connections.append(c)
            print(self.connections)


server = Server()
server.run()

0 个答案:

没有答案