Author Topic: Can't start loading datablocks on a headless Linux server  (Read 1715 times)

can you run a tcp socket server? if you can't, it might point to some kind of networking socket problem thingy
It should be if it runs fine under root.

can you run it without root, with root, and then diff the console.logs and post the diff?

also this:
I'm impressed that you're doing it right and made a new user for the server and all that stuff.

does it run properly on a non-headless server with otherwise similar configuration? (with a desktop environment, x or something)

also this:
does it run properly on a non-headless server with otherwise similar configuration? (with a desktop environment, x or something)
I was doing that before with a regular user that I'd strongly like to get rid of.

I can't edit forget

Another question I'd like to raise, what will happen if I migrate my key over to Steam? Will the old key still be usable or what

I can't edit forget

Another question I'd like to raise, what will happen if I migrate my key over to Steam? Will the old key still be usable or what

Yes.

I can't edit forget

Another question I'd like to raise, what will happen if I migrate my key over to Steam? Will the old key still be usable or what

I just took the plunge.. Yes, my key is authenticating without Steam.

can you run a tcp socket server?
How would I check?

if you can't, it might point to some kind of networking socket problem thingy
can you run it without root, with root, and then diff the console.logs and post the diff?
The console logs of the socket server or Blockland?

Blockland.

The socket server... uh... easiest not conclusive method would be nc -l 8675 (or nc -l -p 8675) (as the blockland user) and then connect with
nc 127.0.0.1 8675

If that doesn't work, something is preventing that user from making sockets. If it does, I dunno, we try something else. Do the diff thing.

Blockland.
see attachments

The socket server... uh... easiest not conclusive method would be nc -l 8675 (or nc -l -p 8675) (as the blockland user) and then connect with
nc 127.0.0.1 8675

If that doesn't work, something is preventing that user from making sockets. If it does, I dunno, we try something else. Do the diff thing.
Doesn't appear to be doing much of anything, it's just giving a "Cmd line:" thing to enter something. Entering 127.0.0.1 8675 just closes it.

Also, server is now doing the same thing under root. Running it on X through "user" is the only thing that works atm.

Figured out a way to get it semi-headless in its own X server through xterm/openbox.

/usr/bin/blocklandd:
Code: [Select]
#!/bin/sh

DISPLAY=:1
screen -dmS blockland su blockland -c startx -- $DISPLAY
:0 would be tty1, :1 would be tty2, :2 would be tty3 and so on. I'm not sure at this point if screen -dmS blockland would even be needed for a startup script.

/srv/blockland/.xinitrc:
Code: [Select]
#!/bin/sh

if [ -d /etc/X11/xinit/xinitrc.d ]; then
  for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
  done
  unset f
fi

exec openbox-session
Starts openbox. Pretty sure any other DE would be fine.

/srv/blockland/.config/openbox/autostart:
Code: [Select]
GAMEMODE="EndlessMining"
xterm -e "wine ~/Blockland/Blockland.exe [launcher bypass code] -dedicated 1 -gamemode $GAMEMODE" &disown
Launches the dedicated server within xterm, and then hides xterm with the server still running.

If there's a way to get this to detach from the X server, then I'd consider it headless. It seems like it has to be attached to an X server to have it be connect-able 100%.


http://scatteredspace.com/forum/index.php?topic=2611.msg46235#msg46235
Just figured out Xvfb as well, and it works.
Code: [Select]
screen -dmS blockland su blockland -c 'GAMEMODE="EndlessMining"; xvfb-run --auto-servernum --server-num=1 xterm -e "wine ~/Blockland/Blockland.exe ptlaaxobimwroe -dedicated 1 -gamemode $GAMEMODE"'