subprocesses are entirely isolated in memory, unlike threads, so there's no Global Interpreter Lock to cause clientside FPS drops when the server is busy. Also, this just generally feels tidier, as with isolated memory there's less risk of Singleplayer having divergent behaviour from Dedicated.
I'm having somewhat inconsistent results on reading stdout of the server subprocess, when run inside PyCharm's debugger, it outputs immediately, whereas when I launch singleplayer with python3 main.py, I don't see "Server: " messages until the thread is joined when shutting down, I can't tell if the weirdness is threading, subprocess stdout, or something else...
This PR is pointing at my python3 branch, and thus requires python3.
subprocesses are entirely isolated in memory, unlike threads, so there's no Global Interpreter Lock to cause clientside FPS drops when the server is busy. Also, this just generally feels tidier, as with isolated memory there's less risk of Singleplayer having divergent behaviour from Dedicated.
I'm having somewhat inconsistent results on reading
stdout
of the server subprocess, when run inside PyCharm's debugger, it outputs immediately, whereas when I launch singleplayer withpython3 main.py
, I don't see "Server: " messages until the thread is joined when shutting down, I can't tell if the weirdness is threading, subprocess stdout, or something else...This PR is pointing at my
python3
branch, and thus requirespython3
.