GameServerManagers / LinuxGSM

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

Updated LGSM. Now seeing "numfmt: invalid number: 'K'". #2005

Closed jrmain closed 6 years ago

jrmain commented 6 years ago

Describe the bug Since updating LGSM on September 8 (using update-lgsm), some LGSM commands are showing numfmt: invalid number: 'K'. Servers seem to be running fine otherwise. LGSM version shows as 170305. Tried installing UT99server from scratch and that's also showing the same error. Updated my other server (UT2K4) using update-lgsm and it's showing the same error.

To Reproduce Steps to reproduce the behaviour:

  1. Update LGSM with update-lgsm.
  2. Issue an LGSM command, such as DETAILS.
  3. Examine the results.
  4. See error: "numfmt: invalid number: 'K'" in the results.

Expected behaviour No error messages.

Minimum Information The game server I am running: UT99 (also UT2K4, also affected). The link from ./gameserver postdetails command: postdetails did not work. Manual attempt to use hastebin also failed. Server details pasted below (first is before LGSM updates, second is after clean re-install of LGSM and UT99 server).

Additional context Excerpt of command output showing error in context:

ut99server@foghorn:~$ ./ut99server details
[ INFO ] Details ut99server: Check IP: 192.168.0.196
numfmt: invalid number: 'K'

Distro Details
==============================================================================================================================

Distro:    Ubuntu 14.04.5 LTS

Original server details (ANSI removed):

Distro Details
==============================================================================================================================
Distro:    Ubuntu 14.04.5 LTS
Arch:      x86_64
Kernel:    3.13.0-135-generic
Hostname:  foghorn
tmux:      tmux 2.0
GLIBC:     2.19

Performance
Uptime:    15d, 23h, 15m
Avg Load:  0.27, 0.46, 0.54

Mem:       total   used   free     cached
Physical:  7.5G    7.1G   430M     5.1G
Swap:      7.7G    836M   6.9G

Storage
==============================================================================================================================
Filesystem:      /dev/sda1
Total:           451G
Used:            106G
Available:       323G
LinuxGSM Total:  737M
Serverfiles:     613M

Unreal Tournament 99 Server Details
==============================================================================================================================
Server name:      JDRGaming UT99 Co-op
Server IP:        192.168.0.196:7777
Internet IP:      24.80.59.72:7777
Server password:  
Admin password:   redacted
Status:           ONLINE

ut99server Script Details
==============================================================================================================================
Service name:           ut99-server
ut99server version:     170305
User:                   ut99server
GLIBC required:         2.1
Discord alert:          on
Email alert:            on
Pushbullet alert:       off
IFTTT alert:            
Mailgun (email) alert:  
Pushover alert:         
Telegram alert:         
Location:               /home/ut99server
Config file:            /home/ut99server/serverfiles/System/ut99-server.ini

Backups
==============================================================================================================================
No Backups created

Command-line Parameters
==============================================================================================================================
./ucc-bin server AS-Hispeed.unr ini=/home/ut99server/serverfiles/System/ut99-server.ini

Ports
==============================================================================================================================
Change ports by editing the parameters in:
/home/ut99server/serverfiles/System/ut99-server.ini

Useful port diagnostic command:
netstat -atunp | grep ucc-bin

DESCRIPTION              DIRECTION  PORT         PROTOCOL  INI VARIABLE
> Game                   INBOUND    7777         udp       Port=7777
> Query                  INBOUND    7778         udp
< UdpLink Port (random)  OUTBOUND   +            udp
< Master server          OUTBOUND   28900/28902  tcp/udp
> WebAdmin               INBOUND    8076         tcp       ListenPort=8076

JDRGaming UT99 Co-op
 WebAdmin
==============================================================================================================================
WebAdmin enabled:   True
WebAdmin url:       http://192.168.0.196:8076
WebAdmin username:  redacted
WebAdmin password:  redacted

Status: ONLINE

command_details.sh exiting with code: 0

After clean re-install:

[ .... ] Details ut99server: Check IP
[ INFO ] Details ut99server: Check IP: 192.168.0.196

Distro Details
==============================================================================================================================
Distro:    Ubuntu 14.04.5 LTS
Arch:      x86_64
Kernel:    3.13.0-157-generic
Hostname:  foghorn
tmux:      tmux 2.0
GLIBC:     2.19

Performance
Uptime:    14d, 21h, 51m
Avg Load:  0.83, 0.77, 0.80

Mem:       total  used   free      cached  available
Physical:  7.5GB   2.0GB  4.3GB     
Swap:      7.7GB   420MB  7.3GB

Storage
==============================================================================================================================
Filesystem:      /dev/sda1
Total:           451G
Used:            110G
Available:       319G
LinuxGSM Total:  1.6G
Serverfiles:     287M

Unreal Tournament 99 Server Details
==============================================================================================================================
Server name:      LinuxGSM
Server IP:        192.168.0.196:7777
Server password:  NOT SET
Admin password:   redacted
Default Map:      DM-Deck16][
Status:           OFFLINE

ut99server Script Details
==============================================================================================================================
Service name:           ut99server
ut99server version:     180908
User:                   ut99server
GLIBC required:         2.1
Discord alert:          off
Email alert:            off
Pushbullet alert:       off
IFTTT alert:            off
Mailgun (email) alert:  off
Pushover alert:         off
Telegram alert:         off
Location:               /home/ut99server
Config file:            /home/ut99server/serverfiles/System/ut99server.ini

Backups
==============================================================================================================================
No Backups created

Command-line Parameters
==============================================================================================================================
./ucc-bin server DM-Deck16][.unr ini=/home/ut99server/serverfiles/System/ut99server.ini

Ports
==============================================================================================================================
Change ports by editing the parameters in:
/home/ut99server/serverfiles/System/ut99server.ini

Useful port diagnostic command:
netstat -atunp | grep ucc-bin

DESCRIPTION              DIRECTION  PORT         PROTOCOL  INI VARIABLE
> Game                   INBOUND    7777         udp       Port=7777
> Query                  INBOUND    7778         udp
< UdpLink Port (random)  OUTBOUND   +            udp
< Master server          OUTBOUND   28900/28902  tcp/udp
> WebAdmin               INBOUND    8076         tcp       ListenPort=8076

LinuxGSM WebAdmin
==============================================================================================================================
WebAdmin enabled:   True
WebAdmin url:       http://192.168.0.196:8076
WebAdmin username:  redacted
WebAdmin password:  redacted

Status:    OFFLINE

command_details.sh exiting with code: 0
jrmain commented 6 years ago

It's kind of a long shot, but I think the problem may be related to the new 'ansi' option. I've disabled ansi in my ut99 server config, and it had no effect: ANSI colours are still appearing everywhere. And some of the ANSI codes include 'K'.

dgibbs64 commented 6 years ago

I think I know where the issue is but I'm on my phone so can't bring it up currently

jrmain commented 6 years ago

I just reinstalled my UT2004 server from scratch and it's doing the same thing.

dgibbs64 commented 6 years ago

I think its related to this https://github.com/GameServerManagers/LinuxGSM/pull/1971

xxngle commented 6 years ago

Same for CS:GO server.

Venopsis commented 6 years ago

Hi, Having same issue since update LGSM for Project Zomboid Server to last version (180908). image

Troopie commented 6 years ago

I have same issue at insurgency and KF2 server

dgibbs64 commented 6 years ago

I am aware of this issue. Should be fixed in next release. It doesnt break anything important :)

dgibbs64 commented 6 years ago

connects to #1971

dgibbs64 commented 6 years ago

I am not getting this issue. I think its related older distros like Ubuntu 14.04

Venopsis commented 6 years ago

I am not getting this issue. I think its related older distros like Ubuntu 14.04

Hello Daniel,

Here is the details of my server:

Distro:   CentOS Linux release 7.5.1804 (Core)
Arch:   x86_64
Kernel:   2.6.32-042stab120.18 (production) and 3.10.0-862.14.4.el7.x86_64 (testing server)

Let me know if you need more details to troubleshoot.

dgibbs64 commented 6 years ago

Odd I just tested the issue on CentOS 7 and the issue didn't occur

[root@li655-230 ~]# numfmt --to=iec --from=iec --suffix=B "$(grep ^MemTotal /proc/meminfo | awk '{print $2}')K"
3.8GB
dgibbs64 commented 6 years ago

Here are my details

Distro:    CentOS Linux 7 (Core)
Arch:      x86_64
Kernel:    3.10.0-862.11.6.el7.x86_64
Hostname:  li655-230.members.linode.com
tmux:      tmux 1.8
GLIBC:     2.17

Looks like you are only running kernel 2.6 which is really old

Venopsis commented 6 years ago

If I try the same command than your previous message, I don't have error: image

But when using start command, I got error: image

Suppose not related but no more able to run my server on CentOS since last update as Glibcxx 3.4.21 not found. Post open on Official game forum to check as nothing fix this.

Venopsis commented 6 years ago

Here are my details

=
Distro:    CentOS Linux 7 (Core)
Arch:      x86_64
Kernel:    3.10.0-862.11.6.el7.x86_64
Hostname:  li655-230.members.linode.com
tmux:      tmux 1.8
GLIBC:     2.17

Looks like you are only running kernel 2.6 which is really old

I have two servers as mentioned (prod and testing). The testing one use recent Kernel (more recent than yours).

Prod is openVZ server based.

Just tried on testing and not having the issue at all.

Could be Kernel related? Not an expert.

dgibbs64 commented 6 years ago

Whats the kernel version of your testing server?

dgibbs64 commented 6 years ago

It is my guess that kernel 2.6 does not have numfmt or a very old version of it

dgibbs64 commented 6 years ago

what is the output of numfmt --version of the server that has the issue?

the oldest version I have available is

numfmt (GNU coreutils) 8.21
jrmain commented 6 years ago

Not sure if you were asking me, but anyway: numfmt (GNU coreutils) 8.21.

dgibbs64 commented 6 years ago

@jrmain odd I can't replicate the issue myself. I am unsure of what is causing the issue but it seems limited to old distros

Venopsis commented 6 years ago

Whats the kernel version of your testing server?

Hi!

Kernel:

The production server is OpenVZ "VM" while testing is hosted on VMware Workstation pro.

numfmt (GNU coreutils)

jrmain commented 6 years ago

@jrmain odd I can't replicate the issue myself. I am unsure of what is causing the issue but it seems limited to old distros

I can look at the code. Can you provide any hints as to what I'm looking for?

dgibbs64 commented 6 years ago

info_distro.sh

https://github.com/GameServerManagers/LinuxGSM/blob/master/lgsm/functions/info_distro.sh#L96

jrmain commented 6 years ago

There's no MemAvailable in /proc/meminfo. If I change 'MemAvailable' in that command (run from the CLI) to 'nonsense' the same thing happens.

jrmain commented 6 years ago

Looks like MemAvailable was added to the Linux kernel relatively recently, in 3.14. I'm running 3.13. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773 Also http://manpages.ubuntu.com/manpages/bionic/man1/free.1.html

W0lftastisch commented 6 years ago

Same here.

My distro:

Distro:    Ubuntu 16.04.5 LTS
Arch:      x86_64
Kernel:    4.4.0-042stab133.2
tmux:      tmux 2.1
GLIBC:     2.23

If additional information is needed, let me know.

marvinlehmann commented 6 years ago

Same with Debian 9.5 on Windows (WSL):

Kernel: 4.4.0-17134-Microsoft numfmt version: 8.26

TuXEKRO commented 6 years ago

Same with:

DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS" NAME="Ubuntu" VERSION="18.04.1 LTS (Bionic Beaver)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 18.04.1 LTS" VERSION_ID="18.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=bionic UBUNTU_CODENAME=bionic

dgibbs64 commented 6 years ago

I can't see a pattern to this issue currently

jrmain commented 6 years ago

Maybe just stop using MemAvailable?

dgibbs64 commented 6 years ago

Yes that may be the only choice

Venopsis commented 6 years ago

Replace with output from vmstat -s command?

Bourne-ID commented 6 years ago

Could always do a check - if it exists then use it, otherwise we can estimate it. The full calculation is documented here but do we need to be exact, or can we say 'if the linux kernel doesn't include MemoryAvailable then we estimate with the next best thing on the list?'

Bourne-ID commented 6 years ago

To add, elastic does a check for MemAvailable - and if it exists uses it, otherwise calculates it from Free, Buffers and Cache (link)

Bourne-ID commented 6 years ago

Currently merged to dev, tested on all current OS and Ubuntu kernel 3.12. feel free to help test and report back :)

dgibbs64 commented 6 years ago

https://github.com/GameServerManagers/LinuxGSM/pull/2058

jrmain commented 6 years ago

Confirmed fixed with version 181027.

lock[bot] commented 5 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.