在将控制台命令提示符添加到游戏的现有服务器循环中时,我只需要一点帮助。我对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()