I compiled the latest source on my Linux Server(Ubuntu 16.04.5 LTS | Linux 4.4.0-138-generic).
I can’t start the server cause it always fails with "[5be8123c][kernel]: ERROR: couldn't register interface storage. null pointer given"
Storage.ctf and "/data/maps" with maps is in the server directory.
Permissions should be ok cause i have the same problem with the root user.
teeworlds@FisicoSrv1:~/teeworlds/build/x86_64/release$ ./teeworlds_srv -f serverconfig.cfg
teeworlds@FisicoSrv1:~/teeworlds/build/x86_64/release$ ls
1on1.cfg 3on3ctf.cfg 5on5ctf.cfg lms.cfg serverconfig.cfg sur.cfg tlms.cfg
2on2ctf.cfg 4on4ctf.cfg data objs storage.cfg teeworlds_srv
Seems the path "/home/teeworlds/.local/share/teeworlds" doesn't exist or you don't have write access.
ok thanks, "/home/teeworlds/.local/share/teeworlds" was missing. That fixed the issue for me.
But why does the Teeworlds server needs this directory?
Nothing interesting is in this folder except master.cfg
teeworlds@FisicoSrv1:~/.local/share/teeworlds$ ls
configs demos dumps masters.cfg
It uses it to save stuff like configs, demos, dumps etc.
But Teeworlds should create the folder the folder in case it's missing.
@Fisico You can also set the folder to any other writable path in context to the program with XDG_DATA_HOME=/path/to/folder teeworlds_srv
. It's also possible to do that permanent globally or only for one user. See https://wiki.archlinux.org/index.php/environment_variables#Defining_variables
fixed by e117ee0ef1c329f3559fcfb64bd9b33e6adb82d2
Most helpful comment
fixed by e117ee0ef1c329f3559fcfb64bd9b33e6adb82d2