GameServerManagers / LinuxGSM

The command-line tool for quick, simple deployment and management of Linux dedicated game servers.
https://linuxgsm.com
MIT License
4.32k stars 821 forks source link

hwserver unable to start -- no logs found. #772

Closed aftek closed 8 years ago

aftek commented 8 years ago

As requested by @UltimateByte, following up on issue #554;

I still couldn't get it to work

First I would get: [ FAIL ] Starting hurtworld-server: Unable to start Hurtworld LGSM Server but nothing in the logs... only:

Console logging disabled: Bug in tmux 1.8 breaks logging
http://gameservermanagers.com/tmux-upgrade
Currently installed: tmux 1.8

which I did upgrade, but now i'm getting empty logs

I'll try without ./hwserver in a new container, see if it has anything to do with it, or just my current setup.

Update: server is working when going straight through steamcmd and skipping hwserver :'( though, i'm left with a server that i can join and show my friends how to join, but still not visible ingame...

so.. won't be using hwserver, unless it works first shot AND is visible ingame :)

PS: please please, get rid of tmux, nohup works like a charm on debian based distribution.. and is most likely already installed. tmux is the reason why i woudn't see any log file from the game; EVEN after updating it with the ppa you're linking for tmux -- it was worst, no log at all.

PPS: if you need access to this LXC container, even root, let me know -- there's nothing sensitive on it.

UltimateByte commented 8 years ago

In the end, did you try tu run it natively, without a container ? Containers are UNTESTED.

aftek commented 8 years ago

by 'native' I meant using steamcmd directly, but still inside a container.. this way, I at least got the server to start.. my friends could join, but still not showing up in game..

using steamcmd and a container, I also had an ARK server running without any problem; maybe I should try ARK to learn more about linuxgsm first.

( ARK, Starbound and Don't Starve had no trouble inside a container via steamcmd ).

UltimateByte commented 8 years ago

But did you try the LGSM Hurtworld script outside of a container ? This is how it's intended to use. If you wish to add another layer using a container, we can't guarantee you it'll work.

aftek commented 8 years ago

never tried it no, but I don't have the infra for it.. I only have one big server with multiple accounts on them.. I'm not willing to go that far for Hurtworld on that machine.

I'll try with ARK.. see if it works.. aaand it does not :'( ./arkserver start gives me:

[ .... ] Starting ark-server: arkserver linuxgsm #772failed to connect to server: Connection refused
[ FAIL ] Starting ark-server: Unable to start arkserver linuxgsm #772
cat log/script/ark-server-script-28-03-2016-18-23-07.log 
Mar 28 18:23:09 ark-server: Starting: Applying steamclient.so general fix: ARK: Survivial Evolved
mkdir: created directory ‘/home/arkserver/.steam’
mkdir: created directory ‘/home/arkserver/.steam/sdk32’
‘/home/arkserver/steamcmd/linux32/steamclient.so’ -> ‘/home/arkserver/.steam/sdk32/steamclient.so’
Mar 28 18:23:10 ark-server: Starting: Complete! Applying steamclient.so general fix: ARK: Survivial Evolved
Mar 28 18:23:10 ark-server: Starting: arkserver linuxgsm #772
Mar 28 18:23:11 ark-server: Starting: Rotating log files
cat log/script/ark-server-script.log 
Mar 28 18:23:12 ark-server: Starting: Unable to start arkserver linuxgsm #772

While, using the exact same files, running: nohup ./ShooterGameServer TheIsland?listen?SessionName=lgsm772?ServerAdminPassword=please -server -log &

and the server is up and running.

lgsm initiative is awesome.. but i guess it's not for me :'(

PS: You could close the ticket :'( If anyone wants to investigate, I can spawn a container for whoever :)

PPS: still one last suggestion..

adduser arkserver
passwd arkserver
su - arkserver

should probably be only :

useradd -m arkserver
su - arkserver

being able to add the user, you're already root.. you really dont need a new entry point for attackers to try and brute force that new account password.

UltimateByte commented 8 years ago

Ark and Rust and Hurtworld have a common point : Unity3D. So if your method doesn't work for one, it will probably not for others. And Ark seems boring as it seems to require telnet over everything else to be administrated/moderated. But that's another topic. However, what you'd need is watching the gamelog. Last log for Rust (as it doesn't support custom directory nor server console) : cat serverfiles/game*.log

Rust will make that gamelog on start, even on some failures, if i remember well the few times it happened to me. Then upon next start, it will move that log to /log/server to keep things clean. Also, if you have other unity3d servers running, you might wanna have a look at the "Multiple servers" section here : http://oxidemod.org/threads/setting-up-a-rust-server-with-linux-and-lgsm.16528/ If it doesn't work even without a container (why would one use it in the first place ?!), it could either be the server force closing because it thinks it's already running, or either be an issue with tmux, or even a wrong dependency, like too old glibc.

I didn't close this issue, i know github can be confusing about that, but it's the previous one, mentioned here that is closed.

About your last suggestion : What if you wanna give access to SSH to another user to control the ark server ? To update and reboot it when needed ? You give him root access ? Sounds like a terrible idea. If you're affraid of bruteforce, 1) set strong enough passwords 2) trust SSH timeouts when too many requests 3) allow login of certain users only. 4) If you're still paranoid, install fail2bann. I personally just setup a new machine that i will be the only one using SSH on it (but not FTP), so i Most people login to the user directly. So did i for a while. Some will wanna share some users ssh login (so do i). Many beginners don't know su command to login to a user from root, or forget to input "cd" afterwards. If you're an experienced user, you probably already know that you're not compeled to create logins for a new user with adduser, but can use useradd instead if you wish, so i see no point changing the default command proposed.

However, installing packages with "sudo" on debian is something that i've never seen yet, as sudo isn't installed by default. That is the thing i would change about gameservermanagers.com's doc. :p

aftek commented 8 years ago

I meant to offer root to an LXC container so you or someone could try and help me debug the lgsm setup on it... and giving access is via private message only for sure :)

If anything inappropriate was to be found on it, then a simple lxc-destroy would take care of it. with memory and cpu limits, there's isn't much threat to other containers on the same hardware either.

LXC doesn't have the overhead of virtualization ( https://linuxcontainers.org/ ) It's been working like a charm for ARK for months.

and the goal, is that each server has no idea it's sharing hardware resources; if I were to give someone access to the ARK container for server administration, it'd be the ark user, not root indeed. but in this case, i can chose not to give him access to the Starbound server on the same hardware.

The other cool thing about LXC, are the templates: https://github.com/lxc/lxc/tree/master/templates I can pop a container of almost any linux distro, whichever the developers or the guide used to document how to host a dedicated server.

UltimateByte commented 8 years ago

You're not the first one trying to convince me about containers. :p It may be something to consider at some point. But for now i think it's too much effort for the benefits. User based servers with good chmod is OK already. You can even jail users in their home directories if you're affraid that they mess up with other servers. I've been connecting to people's machine sometimes to help them diagnose the issue but in the end, we can usually diagnose issues simply with advices. But I got so many things to manage already right now, switching domain name of my community, switching servers, reworking a lot of things... What about the things i just told you about logs ? Can't you test it already ?

aftek commented 8 years ago

I most likely will, but only this week end; I'm definitely a github newbie too, I really meant you or anyone willing to try and help debug.. and I actually might have found someone.. to be continued soon :)

if we do find a solution it will be a pleasure to share it back;

UltimateByte commented 8 years ago

Do you really need someone to do : adduser test su test cd wget http://gameservermanagers.com/dl/rustserver chmod +x rustserver ./rustserver install ./rustserver start cat serverfiles/game*.log

?

aftek commented 8 years ago

for motivation yes, but your last message worked too lol

install still successful but:

$ ./rustserver start
[ FAIL ] Starting rust-server: Unable to start Rust

and still no log :'( find ~/serverfiles/ -name '*.log' cannot see any

( and not much time now to look into it :'( )

UltimateByte commented 8 years ago

tmux version ? dpkg -s tmux

What's your distro already ? cat /proc/version

UltimateByte commented 8 years ago

Solved ? Should we close this ?

Jonathan-Rosewood commented 7 years ago

Same problem. tmux not works inside LXC...

Anybody solve this?

UltimateByte commented 7 years ago

Please, don't bump if you don't have relevant details, like... what i asked in my previous post.

Jonathan-Rosewood commented 7 years ago

So...okay https://asciinema.org/a/696z8p753qzwez0no1g53qki8

hwserver@hurtworld:~$ dpkg -s tmux                                              
Package: tmux                                                                   
Status: install ok installed                                                    
Priority: optional                                                              
Section: admin                                                                  
Installed-Size: 596                                                             
Maintainer: Romain Francoise <rfrancoise@debian.org>                            
Architecture: amd64                                                             
Version: 1.9-6                                                                  
Depends: libc6 (>= 2.14), libevent-2.0-5 (>= 2.0.10-stable), libtinfo5          
Description: terminal multiplexer                                               
 tmux enables a number of terminals (or windows) to be accessed and             
 controlled from a single terminal like screen. tmux runs as a                  
 server-client system. A server is created automatically when necessary         
 and holds a number of sessions, each of which may have a number of             
 windows linked to it. Any number of clients may connect to a session,          
 or the server may be controlled by issuing commands with tmux.                 
 Communication takes place through a socket, by default placed in /tmp.         
 Moreover tmux provides a consistent and well-documented command                
 interface, with the same syntax whether used interactively, as a key           
 binding, or from the shell. It offers a choice of vim or Emacs key             
 layouts.                                                                       
Homepage: http://tmux.sourceforge.net/
hwserver@hurtworld:~# cat /proc/version
Linux version 4.10.1-2-pve (root@nora) (gcc version 6.3.0 20170205 (Debian 6.3.0-6) ) #1 SMP PVE 4.10.1-2 (Fri, 10 Mar 2017 10:20:14 +0100)
cedarlug commented 7 years ago

Not an LinuxGSM issue.

The crux of your issue is the LXC container's lack of a PTY when you issue the equivalent of lxc 'attach' to acquire a terminal.

IMO, this is a dupe of #1409 (with the same workaround - Don't start the server if you don't have a PTY - that is, if you're "attach"ing to the container).

lock[bot] commented 6 years ago

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.