Ntk123 commited on
Commit
10319cd
·
1 Parent(s): 2446e8b

Fix playitd crash: create runtime dir + explicit IPC socket path for XDG_RUNTIME_DIR-less containers

Browse files
Files changed (1) hide show
  1. control.py +9 -2
control.py CHANGED
@@ -14,7 +14,7 @@ from collections import deque
14
  from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
15
  from urllib.parse import parse_qs, urlparse
16
 
17
- BUILD = "v8"
18
 
19
  DATA_DIR = os.environ.get("MC_DATA", "/data")
20
  JAR = os.environ.get("MC_JAR", "/server/minecraft_server.26.3.jar")
@@ -69,9 +69,16 @@ class MCController:
69
  return
70
  self.push("[panel] starting playitd", "playit")
71
  env = dict(os.environ)
 
 
 
 
 
 
72
  try:
73
  self.playit = subprocess.Popen(
74
- ["playitd", "--secret", PLAYIT_SECRET, "--platform-docker"],
 
75
  stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
76
  text=True, encoding="utf-8", errors="replace", env=env,
77
  )
 
14
  from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
15
  from urllib.parse import parse_qs, urlparse
16
 
17
+ BUILD = "v9"
18
 
19
  DATA_DIR = os.environ.get("MC_DATA", "/data")
20
  JAR = os.environ.get("MC_JAR", "/server/minecraft_server.26.3.jar")
 
69
  return
70
  self.push("[panel] starting playitd", "playit")
71
  env = dict(os.environ)
72
+ runtime_dir = "/tmp/playitd"
73
+ try:
74
+ os.makedirs(runtime_dir, mode=0o700, exist_ok=True)
75
+ except OSError as e:
76
+ self.push(f"[panel] playitd runtime dir: {e}", "playit")
77
+ env["XDG_RUNTIME_DIR"] = runtime_dir
78
  try:
79
  self.playit = subprocess.Popen(
80
+ ["playitd", "--secret", PLAYIT_SECRET, "--platform-docker",
81
+ "--socket-path", os.path.join(runtime_dir, "ipc.sock")],
82
  stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
83
  text=True, encoding="utf-8", errors="replace", env=env,
84
  )