我正在尝试为Minecraft服务器编写处理程序/控制器.我的问题是,我似乎无法通过写作和阅读来正常工作.当客户端发出使用服务器类方法的命令时,serverCom
Minecraft服务器的文本/日志开始进入Python窗口/ Python控制台,并且连接的客户端挂起.此外,似乎在我使用之后Popen
,Minecraft服务器在我写入服务器(aka serverCom
方法)之前并没有真正启动.如果有人想知道,则Popen
转到打开.jar文件的批处理文件.这是在Windows XP上.
import subprocess
import os
import configobj
import socket
import threading
from time import sleep
config = configobj.ConfigObj("config.ini")
cHost = config["hostip"]
cPort = int(config["hostport"])
cBuffer = int(config["serverbuffer"])
cClients = int(config["numberofclients"])
cPassword = config["password"]
class server(object):
def __init__(self):
self.process = False
self.folder = "C:\\servers\\minecraft-danny"
self.max = configobj.ConfigObj("%s\\simpleserver.properties"%self.folder)["maxPlayers"]
def serverStart(self):
if not self.process:
self.process = subprocess.Popen("java -Xmx1024m -Xms1024m -jar minecraft_server.jar nogui", cBuffer, None, subprocess.PIPE, subprocess.PIPE, subprocess.STDOUT, cwd = self.folder)
return True
return …
Run Code Online (Sandbox Code Playgroud)