ComputerBaer / ARK-Linux-Server-Script-v2

GNU General Public License v3.0
2 stars 2 forks source link

Initial Install Failure #1

Open kcjonson opened 8 years ago

kcjonson commented 8 years ago
➜  ark  ./arkserver.sh
readlink: illegal option -- f
usage: readlink [-n] [file ...]
usage: basename string [suffix]
       basename [-a] [-s suffix] string [...]
readlink: illegal option -- f
usage: readlink [-n] [file ...]
usage: dirname path
mkdir: /.temp/: Permission denied
\e[33mSearch for updates ...\e[0m
./arkserver.sh: line 85: /.temp/checksums: No such file or directory
\e[32mAll files are up-to-date.\e[0m
\e[31mLanguage 'en' not found. Script execution is canceled.\e[0m
ComputerBaer commented 8 years ago

You have put the script in the root directory, or?

/etc/...
/lib/...
[...]
/arkserver.sh

Use a separate folder for the script and give your user all rights in this folder.

/etc/...
/lib/...
[...]
/myarkserver/arkserver.sh

Edit: Ok, this causes no errors in my test environment ... Where is the file? How do you start it? Which operating system?

kcjonson commented 8 years ago

Sorry for the brevity earlier, thanks for responding.

Directory is /server/ark which is owned by me (recently created just before the curl to pull source) Started with ./arkserver.sh (running zsh shell) Operating system: OSX 10.11.1

ComputerBaer commented 8 years ago

Please try the new version of the script.

kcjonson commented 8 years ago

Thanks for the update, tried with the new version, still not working. Its worth noting that the game runs just fine on the system, so my assumption is that the stand alone server should as well, although I've not seen any proof of it. Anything that I can help do to debug?

ComputerBaer commented 8 years ago

Same error messages?

You must manually download the script, auto update doesn't work in the old version on osx.

You can add this in line 8: echo $CMD and write the output here.

Edit: If the script works, you can disable the colors (e.g. \e[33m ). Add this line SCRIPT_COLOR=false to configuration.ini.

kcjonson commented 8 years ago

Output with echo

➜  server  ./arkserver.sh
./arkserver.sh
readlink: illegal option -- f
usage: readlink [-n] [file ...]
usage: basename string [suffix]
       basename [-a] [-s suffix] string [...]
readlink: illegal option -- f
usage: readlink [-n] [file ...]
usage: dirname path
mkdir: /.temp/: Permission denied
\e[33mSearch for updates ...\e[0m
./arkserver.sh: line 88: /.temp/checksums: No such file or directory
\e[32mAll files are up-to-date.\e[0m
\e[31mLanguage 'en' not found. Script execution is canceled.\e[0m
kcjonson commented 8 years ago

Might be related: http://stackoverflow.com/questions/1055671/how-can-i-get-the-behavior-of-gnus-readlink-f-on-a-mac

ComputerBaer commented 8 years ago

Now it should work.

I had not read the full error message ... (I think it's too late, 4 am)

kcjonson commented 8 years ago

Alright, making progress. That got rid of some of the errors.

➜  server  ./arkserver.sh
\e[33mSearch for updates ...\e[0m
\e[32mAll files are up-to-date.\e[0m
\e[31mLanguage 'en' not found. Script execution is canceled.\e[0m

I added some debug info in there and $LANGUAGE_FILE seems to be correct for the location /Users/kcjonson/server/.script/languages/en.lang (script is running in /Users/kcjonson/server/)

However the /Users/kcjonson/server/.script/ directory does not exist, which it looks like it should at that point in the script.

So, it looks like steamcmd isn't being properly installed? My bash-foo is pretty weak, I'll take another look in the morning.

ComputerBaer commented 8 years ago

Use ./arkserver.sh install or ./arkserver.sh update to install SteamCMD and ARK, but it will not work without the other scripts in .script/.

  1. remove line 311: CleanUp
  2. run the script
  3. execute this: md5sum -c .temp/checksums (i think this is the problem)

The script requires md5sum, I think you need to install it: https://raam.org/2008/howto-install-md5sum-sha1sum-on-mac-os-x/

kcjonson commented 8 years ago

Looks like the .script/ directory still isn't being created:

➜  server  md5sum -c .temp/checksums
arkserver.sh: FAILED
md5sum: stat 'dependencies.sh': No such file or directory
md5sum: stat '.script/helper.sh': No such file or directory
md5sum: stat '.script/languages/de.lang': No such file or directory
md5sum: stat '.script/languages/en.lang': No such file or directory
md5sum: stat '.script/formatting.sh': No such file or directory
md5sum: stat '.script/game.sh': No such file or directory
md5sum: stat '.script/config-samples/configuration-sample.ini': No such file or directory
md5sum: stat '.script/config-samples/GameUserSettings-sample.ini': No such file or directory
md5sum: stat '.script/steam.sh': No such file or directory
md5sum: stat '.script/actions/status.sh': No such file or directory
md5sum: stat '.script/actions/start.sh': No such file or directory
md5sum: stat '.script/actions/backup.sh': No such file or directory
md5sum: stat '.script/actions/validate.sh': No such file or directory
md5sum: stat '.script/actions/help.sh': No such file or directory
md5sum: stat '.script/actions/update.sh': No such file or directory
md5sum: stat '.script/actions/stop.sh': No such file or directory
md5sum: stat '.script/actions/view.sh': No such file or directory
md5sum: stat '.script/actions/install.sh': No such file or directory
md5sum: WARNING: 1 of 19 computed checksums did NOT match
ComputerBaer commented 8 years ago

And this md5sum -c .temp/checksums --quiet 2> /dev/null? Or you add this between line 106 and 107: echo $CheckResult

Both should show the same output. It is something similar to the output of md5sum -c .temp/checksums, but not exactly the same.

How script install / update works:

  1. Download Checksums (Line 98-103)
  2. Compare Checksums (Line 106-112) <-- the problem
  3. Update Files (Line 115-138) <-- create .script/ and download files
kcjonson commented 8 years ago

No value returned from md5sum -c .temp/checksums --quiet 2> /dev/null and consequently $CheckResult is null.

ComputerBaer commented 8 years ago

Ok ... md5sum -c .temp/checksums --quiet md5sum -c .temp/checksums 2> /dev/null

kcjonson commented 8 years ago
➜  server  md5sum -c .temp/checksums --quiet
Error: --check <filename> cannot be used with additional files

Which is interesting in itself, not sure what its actually complaining about there. Removing --quiet its runs normally.

➜  server  md5sum -c .temp/checksums 2> /dev/null
arkserver.sh: FAILED
md5sum: WARNING: 1 of 19 computed checksums did NOT match
kcjonson commented 8 years ago

So, I commented out all the checksum parts, just to see if it would proceed. Got to the point where its trying to pull the source and added an echo for debug:

local FileContent=$(curl -s "${SCRIPT_REPOSITORY_URL}${LINE[0]}")
echo $FileContent

which when run produces:

➜  server  ./arkserver.sh
/Users/kcjonson/server/.script/languages/en.lang
Search for updates ...
Update found! Install it now ...
400: Invalid request
./arkserver.sh: line 129: : No such file or directory
Update completed successfully.
/Users/kcjonson/server/.script/languages/en.lang
Language 'en' not found. Script execution is canceled.
kcjonson commented 8 years ago

A bit more modifications reveal:

local FileUrl=${SCRIPT_REPOSITORY_URL}${LINE[0]}
echo $FileUrl
local FileContent=$(curl -s "$FileUrl")
echo $FileContent
Update found! Install it now ...
https://raw.githubusercontent.com/ComputerBaer/ARK-Linux-Server-Script-v2/master/
400: Invalid request
./arkserver.sh: line 131: : No such file or directory

That url is certainly wrong, can't be opened in a browser either.

ComputerBaer commented 8 years ago

That can not work. The script generates the url from md5sum output.

The output should be like this: (It is partly german, but it doesn't matter)

root@testserver:/arksrv/# md5sum -c .temp/checksums --quiet 2> /dev/null
arkserver.sh: GESCHEITERT
dependencies.sh: FEHLSCHLAG bei open oder read
.script/helper.sh: FEHLSCHLAG bei open oder read
.script/languages/de.lang: FEHLSCHLAG bei open oder read
.script/languages/en.lang: FEHLSCHLAG bei open oder read
.script/formatting.sh: FEHLSCHLAG bei open oder read
.script/game.sh: FEHLSCHLAG bei open oder read
.script/config-samples/configuration-sample.ini: FEHLSCHLAG bei open oder read
.script/config-samples/GameUserSettings-sample.ini: FEHLSCHLAG bei open oder read
.script/steam.sh: FEHLSCHLAG bei open oder read
.script/actions/status.sh: FEHLSCHLAG bei open oder read
.script/actions/start.sh: FEHLSCHLAG bei open oder read
.script/actions/backup.sh: FEHLSCHLAG bei open oder read
.script/actions/validate.sh: FEHLSCHLAG bei open oder read
.script/actions/help.sh: FEHLSCHLAG bei open oder read
.script/actions/update.sh: FEHLSCHLAG bei open oder read
.script/actions/stop.sh: FEHLSCHLAG bei open oder read
.script/actions/view.sh: FEHLSCHLAG bei open oder read
.script/actions/install.sh: FEHLSCHLAG bei open oder read
kcjonson commented 8 years ago

Nope, there is no return value from that command on my machine.

ComputerBaer commented 8 years ago

I unterstand the problem and i have an idea.

Reset the arkserver.sh to my latest version and show me the full output of md5sum -c .temp/checksums 2> /dev/null.

kcjonson commented 8 years ago

md5sum -c .temp/checksums 2> /dev/null produces no output.

ComputerBaer commented 8 years ago

That is not good ... I will think about it.

If you want to use the script now, download it here: https://github.com/ComputerBaer/ARK-Linux-Server-Script-v2/archive/master.zip And change line 34 to SCRIPT_UPDATES=false.

ComputerBaer commented 8 years ago

You have installed this: https://raam.org/2008/howto-install-md5sum-sha1sum-on-mac-os-x/ from my previous comment, or?

Can you remove it and try this: https://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/ You only need to install "coreutils", the other programs should not be necessary. And if something is missing, you can install it later.

md5sum on Linux is from GNU CoreUtils, this should now be the same program and not something similar.

Geant200 commented 8 years ago

Hello,

I speak French is my Debian 7.5 server the script running great but V1 for V2 here is the consol message.

Search for updates ...
Update found! Install it now ...
Update completed successfully.
Language 'en' not found. Script execution is canceled.
ComputerBaer commented 8 years ago

The language file is .script/languages/en.lang, exists the file?

Geant200 commented 8 years ago

not just language file 2 next Presend file

arkserver.sh dependencies.sh

ComputerBaer commented 8 years ago

Has your user write permissions in the directory?

Geant200 commented 8 years ago

The law is correct and I'm Root user.