Я скомпилировал последний исходный код на своем Linux-сервере (Ubuntu 16.04.5 LTS | Linux 4.4.0-138-generic).
Я не могу запустить сервер, потому что он всегда выдает ошибку «[5be8123c] [ядро]: ОШИБКА: не удалось зарегистрировать хранилище интерфейса. Указан нулевой указатель»
Storage.ctf и "/ data / maps" с картами находятся в каталоге сервера.
Разрешения должны быть в порядке, потому что у меня такая же проблема с пользователем root.
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 объекты данных storage.cfg teeworlds_srv
Кажется, что путь "/home/teeworlds/.local/share/teeworlds" не существует или у вас нет доступа на запись.
хорошо, спасибо, "/home/teeworlds/.local/share/teeworlds" отсутствует. Это устранило проблему для меня.
Но зачем серверу Teeworlds этот каталог?
В этой папке нет ничего интересного, кроме master.cfg
teeworlds @ FisicoSrv1 : ~ / .local / share / teeworlds $ ls
конфиги демки дампы masters.cfg
Он использует его для сохранения таких вещей, как конфигурации, демонстрации, дампы и т. Д.
Но Teeworlds должен создать папку в папке на случай ее отсутствия.
@Fisico Вы также можете установить для папки любой другой доступный для записи путь в контексте программы с помощью XDG_DATA_HOME=/path/to/folder teeworlds_srv
. Также возможно сделать это постоянно глобально или только для одного пользователя. См. Https://wiki.archlinux.org/index.php/environment_variables#Defining_variables
исправлено e117ee0ef1c329f3559fcfb64bd9b33e6adb82d2
Самый полезный комментарий
исправлено e117ee0ef1c329f3559fcfb64bd9b33e6adb82d2