Skip to content

Commit 6099479

Browse files
committed
2 parents 48865d7 + 23e284b commit 6099479

File tree

3 files changed

+28
-7
lines changed

3 files changed

+28
-7
lines changed

app.py

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
from gevent import monkey
2+
monkey.patch_all()
3+
14
import subprocess
25
import sys
36
import os
@@ -117,20 +120,26 @@ def init_socketio(app):
117120
# ownserver_mc_process -> mc.ownserver_proc
118121
# ownserver_web_process -> 新しく追加
119122
ownserver_web_process = None
120-
log_thread = None
123+
log_thread_stdout = None
124+
log_thread_stderr = None
121125
config = mc.load_config()
122126

123127
# --- Helper Functions ---
124-
def log_streamer(process):
125-
"""サーバープロセスの出力を読み取り、WebSocket経由で送信する"""
128+
def log_streamer_stdout(process):
129+
"""サーバープロセスのstdoutを読み取り、WebSocket経由で送信する"""
126130
try:
127-
# stdoutとstderrの両方をリアルタイムで読み取る
128131
for line in iter(process.stdout.readline, ''):
129132
socketio.emit('console_output', {'log': line})
133+
except Exception as e:
134+
print(f"Log streaming (stdout) error: {e}")
135+
136+
def log_streamer_stderr(process):
137+
"""サーバープロセスのstderrを読み取り、WebSocket経由で送信する"""
138+
try:
130139
for line in iter(process.stderr.readline, ''):
131140
socketio.emit('console_output', {'log': f"[STDERR] {line}"})
132141
except Exception as e:
133-
print(f"Log streaming error: {e}")
142+
print(f"Log streaming (stderr) error: {e}")
134143

135144
def get_server_status():
136145
"""サーバーの現在の状態を返す"""
@@ -153,7 +162,7 @@ def status():
153162
@app.route('/api/start', methods=['POST'])
154163
def start_server_route():
155164
"""Minecraftサーバーを起動する"""
156-
global log_thread
165+
global log_thread_stdout, log_thread_stderr
157166
if get_server_status() == "Running":
158167
return jsonify(status="Already running"), 400
159168

@@ -171,7 +180,8 @@ def start_server_route():
171180
proc = mc.start_server(config, xmx=xmx, xms=xms, world_type=world_type)
172181
if proc:
173182
# ログをWebUIにストリーミングするスレッドを開始
174-
log_thread = socketio.start_background_task(target=log_streamer, process=mc.server_proc)
183+
log_thread_stdout = socketio.start_background_task(target=log_streamer_stdout, process=mc.server_proc)
184+
log_thread_stderr = socketio.start_background_task(target=log_streamer_stderr, process=mc.server_proc)
175185
socketio.emit('status_update', {'status': 'Running'})
176186
return jsonify(status="Started")
177187
else:

mcserve_helper_config.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"java_cmd": "java",
3+
"jar_path": "server.jar",
4+
"server_data_dir": "server_data",
5+
"world_dir": "world",
6+
"backup_dir": "backups",
7+
"ops_file": "ops.json",
8+
"whitelist_file": "whitelist.json",
9+
"log_file": "logs/latest.log",
10+
"eula_file": "eula.txt"
11+
}

server.jar

49.1 MB
Binary file not shown.

0 commit comments

Comments
 (0)