Toto téma bylo uzamčeno
steamcmd CentOS 7 Bug?
I previously had steamcmd installed on my personal box which was running Fedora. I repurposed the box, so I installed it on my server running CentOS 6, but half of the game servers I was trying to run were complaining about the out of date libraries. I didn't want to run multiple docker instances for each of my game servers, so I moved all of my data to an external drive and installed CentOS 7.

I was following the wiki to install steamcmd on my box, just like before:
https://developer.valvesoftware.com/wiki/SteamCMD#Manually

I keep getting this error upon running the script:
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".

I did some digging and it seems to be failing a checksum of some type:

This is a snippet of my strace running it as the steam user from the /home/steam/Steam directory:
1722 07:04:14 stat64("./zip0.zip", 0xf728fc80) = -1 ENOENT (No such file or directory)
1722 07:04:14 open("./public/steambootstrapper_english.txt", O_RDONLY) = -1 ENOENT (No such file or directory)
1722 07:04:14 openat(AT_FDCWD, "./public", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
1722 07:04:14 open("./public/steambootstrapper_english.txt", O_RDONLY) = -1 ENOENT (No such file or directory)
1722 07:04:14 write(1, "ILocalize::AddFile() failed to load file /"public/steambootstrapper_english.txt/"./n", 81) = 81
1722 07:04:14 stat64("/home/steam/.steam/registry.vdf", 0xf728f3b0) = -1 ENOENT (No such file or directory)
1722 07:04:14 write(1, "[ 0%] Checking for available update...\n", 40) = 40
1722 07:04:14 mmap2(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0xfffffffff6eff000
1722 07:04:14 mprotect(0xf6eff000, 4096, PROT_NONE) = 0
1722 07:04:14 clone(child_stack=0xf6fff464, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidp
tr=0xf6fffba8, tls=0xf6fffba8, child_tidptr=0xf7291990) = 1723
1723 07:04:14 set_robust_list(0xf6fffbb0, 12 <unfinished ...>
1722 07:04:14 gettimeofday( <unfinished ...>
1723 07:04:14 <... set_robust_list resumed> ) = 0
1722 07:04:14 <... gettimeofday resumed> {1499601854, 314103}, NULL) = 0
1723 07:04:14 futex(0xf7291dfc, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
1722 07:04:14 futex(0xf7291dfc, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
1723 07:04:14 <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable)
1722 07:04:14 <... futex resumed> ) = 0
1723 07:04:14 futex(0xf7291e14, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
1722 07:04:14 clock_gettime(CLOCK_REALTIME, {1499601854, 314235018}) = 0
1722 07:04:14 futex(0xf7291e14, FUTEX_WAKE_PRIVATE, 1) = 1

I figured maybe something needed to be linked or it couldn't find a file because valve seems to mainly support Ubuntu/Debian:
[steam@prometheus Steam]$ find -name steambootstrapper_english.txt
./package/tmp/public/steambootstrapper_english.txt
[steam@prometheus Steam]$ ln -s ./package/tmp/public ./public
[steam@prometheus Steam]$ ./steamcmd.sh
Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
Looks like steam didn't shutdown cleanly, scheduling immediate update check
FS_stat on file ./public/steambootstrapper_english.txt which appeared to exist failed!!!

utlbuffer.cpp (221) : Assertion Failed: nSize != 0
[ 0%] Checking for available update...
[ 0%] Download Complete.
[----] Verifying installation...
[ 0%] Downloading Update...
[ 0%] Checking for available update...
[ 0%] Download Complete.
[----] Extracting package...
[----] Extracting package...
[----] Extracting package...
[----] Installing update...
[----] Cleaning up...
[----] Failed to remove temporary unzip folder, continuing anyway
[----] Update complete, launching...
Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
FS_stat on file ./public/steambootstrapper_english.txt which appeared to exist failed!!!


I thought, maybe it doesn't like the symlink, so let me find the zip it downloaded and extract it myself:
[steam@prometheus Steam]$ cp package/steamcmd_public_all.zip.baf9204247ef82ebf9610ed2fc5967880c9d1a07 ./
[steam@prometheus Steam]$ rm public
[steam@prometheus Steam]$ unzip package/steamcmd_public_all.zip.baf9204247ef82ebf9610ed2fc5967880c9d1a07

Archive: package/steamcmd_public_all.zip.baf9204247ef82ebf9610ed2fc5967880c9d1a07
creating: public/
inflating: public/steambootstrapper_schinese.txt
inflating: public/steambootstrapper_japanese.txt
inflating: public/steambootstrapper_german.txt
inflating: public/steambootstrapper_norwegian.txt
inflating: public/steambootstrapper_russian.txt
inflating: public/steambootstrapper_french.txt
inflating: public/steambootstrapper_spanish.txt
inflating: public/steambootstrapper_portuguese.txt
inflating: public/steambootstrapper_greek.txt
inflating: public/steambootstrapper_dutch.txt
inflating: public/steambootstrapper_romanian.txt
inflating: public/steambootstrapper_thai.txt
inflating: public/steambootstrapper_tchinese.txt
inflating: public/steambootstrapper_koreana.txt
inflating: public/steambootstrapper_swedish.txt
inflating: public/steambootstrapper_ukrainian.txt
inflating: public/steambootstrapper_english.txt
inflating: public/steambootstrapper_polish.txt
inflating: public/steambootstrapper_danish.txt
inflating: public/steambootstrapper_turkish.txt
inflating: public/steambootstrapper_hungarian.txt
inflating: public/steambootstrapper_czech.txt
inflating: public/steambootstrapper_bulgarian.txt
inflating: public/steambootstrapper_brazilian.txt
inflating: public/steambootstrapper_italian.txt
inflating: public/steambootstrapper_finnish.txt
inflating: public/steambootstrapper_korean.txt

Still, it failed and here's the snippet of the strace:
2064 07:22:00 open("./public/steambootstrapper_english.txt", O_RDONLY) = 2
2064 07:22:00 fstat64(2, {st_dev=makedev(253, 4), st_ino=4298658907, st_mode=S_IFREG|0666, st_nlink=1, st_uid=1001, st_gid=1001, st_blksize=4096, st_blocks=8, st_size=3602, st_atime=2013/
11/14-17:14:20, st_mtime=2013/11/14-17:14:20, st_ctime=2017/07/09-07:20:22}) = 0
2064 07:22:00 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff7708000
2064 07:22:00 stat64("./public/steambootstrapper_english.txt", {st_dev=makedev(253, 4), st_ino=4298658907, st_mode=S_IFREG|0666, st_nlink=1, st_uid=1001, st_gid=1001, st_blksize=4096, st_
blocks=8, st_size=3602, st_atime=2013/11/14-17:14:20, st_mtime=2013/11/14-17:14:20, st_ctime=2017/07/09-07:20:22}) = 0
2064 07:22:00 openat(AT_FDCWD, "./public", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 3
2064 07:22:00 getdents(3, 0xf6f0231c, 32768) = -1 EOVERFLOW (Value too large for defined data type)
2064 07:22:00 close(3) = 0
2064 07:22:00 stat64("./public/steambootstrapper_english.txt", {st_dev=makedev(253, 4), st_ino=4298658907, st_mode=S_IFREG|0666, st_nlink=1, st_uid=1001, st_gid=1001, st_blksize=4096, st_
blocks=8, st_size=3602, st_atime=2013/11/14-17:14:20, st_mtime=2013/11/14-17:14:20, st_ctime=2017/07/09-07:20:22}) = 0
2064 07:22:00 write(1, "FS_stat on file ./public/steambootstrapper_english.txt which appeared to exist failed!!!\n", 89) = 89
2064 07:22:00 write(1, "\n", 1) = 1
2064 07:22:00 close(2) = 0


Before attempting to strace this myself, I checked Google and the developer wiki. I found people that run into normal issues like, firewalls, open file limits, and font issues. I'm running a headless install of CentOS 7 on a Dell R710 with 32GB of RAM and over 10TB of free space.


[steam@prometheus Steam]$ rpm -qa | grep i686
libstdc++-4.8.5-11.el7.i686
libgcc-4.8.5-11.el7.i686
nss-softokn-freebl-3.16.2.3-14.4.el7.i686
glibc-2.17-157.el7_3.4.i686


[root@prometheus Steam]# getenforce
Permissive


[root@prometheus Steam]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain L (0 references)
target prot opt source destination


[root@prometheus Steam]# uname -a
Linux prometheus.darkhost.net 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux


[steam@prometheus Steam]$ grep -P '^proc|^model\ name' /proc/cpuinfo | tail -n2
processor : 15
model name : Intel(R) Xeon(R) CPU L5630 @ 2.13GHz

[steam@prometheus Steam]$ free -m
total used free shared buff/cache available
Mem: 31997 348 30173 16 1476 31163
Swap: 6143 0 6143

[steam@prometheus Steam]$ ulimit -n
2048
[steam@prometheus Steam]$ ulimit -a | grep open
open files (-n) 2048


[steam@prometheus Steam]$ df -h | grep home
/dev/mapper/20170708-home 3.6T 108M 3.6T 1% /home
[steam@prometheus Steam]$ df -h | grep data
/dev/mapper/20170709-data 9.1T 33M 9.1T 1% /data


I tried removing all of the directories in the /home/steam/Steam directory and the hidden .config .cache directories in /home/steam. There was no /home/steam/.steam directory. I redownloaded the tarball using wget and curl to the same issue.



If anyone knows how to resolve this issue or how to submit a bug report to valve as I can't find any official contact information for steamcmd, that would be great.

-Feeling very defeated.


Thank you,
-Kruz
< >
Zobrazeno 12 z 2 komentářů
Just an update:

I figured I'd try to install manually on Ubuntu 16.04 LTS. I spun up a cloud server as I didn't want to install Ubuntu on my dedicated server. Turns out, Ubuntu is throwing the same error. Glad it's not just a CentOS thing. Looks like it might be something up with the manual installer.
< >
Zobrazeno 12 z 2 komentářů
Na stránku: 1530 50

Datum zveřejnění: 9. čvc. 2017 v 1.38
Počet příspěvků: 2