GameServerManagers / LinuxGSM

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

[ts3server] blacklisted from 4players.de add support for another mirror #1124

Closed darioriccioni closed 5 years ago

darioriccioni commented 8 years ago

As a server admin my server is blacklisted from using 4netplayers. I would like to add support for other mirrors.

As the title says, I'm using the script to install a TeamSpeak server, but the script can't get the version from teamspeak.com and ends with an error, this one:

Installing TeamSpeak 3 Server

fetching update_ts3.sh...OK

[ FAIL ] Update ts3-server: Checking for update: teamspeak.com: Not returning version info fetching core_exit.sh...OK

and right after fetching core_exit.sh the script ends. Any way to solve this?

cedarlug commented 8 years ago

Can you try issuing:

./ts3server uf

and trying the update again?

UltimateByte commented 8 years ago

Can't reproduce. Bet on outdated functions. https://github.com/GameServerManagers/LinuxGSM/wiki/Support

darioriccioni commented 8 years ago

Tried doing

./ts3server uf

and then retry installing the server and got the same error

[ FAIL ] Update ts3-server: Checking for update: teamspeak.com: Not returning version

Tried even deleting everything and redoing it from zero, without any result.

This is the result of ./ts3server postdetails: http://hastebin.com/sovejukaye

This is the content of the only log file I can find:

Oct 16 00:05:17 ts3-server: INSTALL: INFO: Logs installed Oct 16 00:05:17 ts3-server: INSTALL: PASS: downloading check_deps.sh: OK Oct 16 00:05:22 ts3-server: INSTALL: PASS: downloading install_server_files.sh: OK Oct 16 00:05:23 ts3-server: INSTALL: PASS: downloading update_ts3.sh: OK Oct 16 00:06:33 ts3-server: ERROR: core_getopt.sh exiting with code: 2 Oct 16 00:06:45 ts3-server: PASS: downloading command_postdetails.sh: OK Oct 16 00:06:45 ts3-server: postdetails: PASS: downloading command_details.sh: OK Oct 16 00:06:46 ts3-server: CHECK: PASS: downloading check_system_dir.sh: OK Oct 16 00:06:46 ts3-server: postdetails: PASS: downloading info_config.sh: OK Oct 16 00:06:46 ts3-server: postdetails: PASS: downloading info_parms.sh: OK Oct 16 00:06:48 ts3-server: postdetails: PASS: command_postdetails.sh exiting with code: 0 Oct 16 02:15:10 ts3-server: UPDATE: FATAL: Failure! Checking for update: teamspeak.com: Not returning version info Oct 16 02:15:10 ts3-server: UPDATE: FATAL: update_ts3.sh exiting with code: 1 Oct 16 07:15:27 ts3-server: postdetails: PASS: command_postdetails.sh exiting with code: 0

The machine is a Scaleway.com VPS with 2 x86 cores, 2GB RAM and 50GB SSD, the OS is Debian Jessie AMD64. On this same machine I successfully installed a Rust test server (running smoothly even if 4GB RAM are reccomended for this kind of server) using your scripts.

UltimateByte commented 8 years ago

Server IP: :9987 Config file: /home/ts3server/serverfiles/ts3-server.ini (FILE MISSING)

I suppose you have an outdated ts3server script since i successfully installed ts3 yesterday with the new one. Where and when did you get lgsm from ? Just curious.

darioriccioni commented 8 years ago

Got it following the instruction here

https://gameservermanagers.com/lgsm/ts3server/

yesterday

UltimateByte commented 8 years ago

Right before it got updated probably. Get it again, main script changed installation config a bit, for the best.

darioriccioni commented 8 years ago

Downloaded again and even tried to get it from github here

https://github.com/GameServerManagers/LinuxGSM/raw/master/TeamSpeak3/ts3server

without any success, keeps getting stuck after fetching update_ts3.sh for a long time and then the error.

cedarlug commented 8 years ago

Any chance you could manually edit the file lgsm/functions/update_ts3.sh?

First, can you report if the following 2 lines appear on line 106-107, or 111-112 (see below for a command to run for checking this)?

110        # Tidy up
111        rm -f "${lgsmdir}/tmp/.ts3_version_numbers_unsorted.tmp"
112        rm -f "${lgsmdir}/tmp/.ts3_version_numbers_sorted.tmp"

Either way - could you comment out these lines or simply remove them?

Then run the update again. Afterward, post these two files to pastebin. They can be found in ~ts3server/serverfiles/lgsm/tmp/.ts3_version_numbers_unsorted.tmp and ~ts3server/serverfiles/lgsm/tmp/.ts3_version_numbers_sorted.tmp

To recap:

(*) One way to determine this is to check whether you see these two lines on 105-106 with:

lgsm@delli7:/tmp$ awk 'NR>=106&&NR<=107' lgsm/functions/update_ts3.sh 
        rm -f "${tmpdir}/.ts3_version_numbers_unsorted.tmp"
        rm -f "${tmpdir}/.ts3_version_numbers_sorted.tmp"

or on lines 111-112 with:

lgsm@delli7:~/LinuxGSM$ awk 'NR>=111&&NR<=112' lgsm/functions/update_ts3.sh 
        rm -f "${lgsmdir}/tmp/.ts3_version_numbers_unsorted.tmp"
        rm -f "${lgsmdir}/tmp/.ts3_version_numbers_sorted.tmp"
darioriccioni commented 8 years ago

The 2 lines are on 106-107, commented them but can't find anywere those 2 temp files. Had a look at the running processes and it seems this is running when the script gets stuck, don't know if this could help:

wget http://dl.4players.de/ts/releases/?C=M;O=D -q -O -

cedarlug commented 8 years ago

Okay - that helps.

Can you see if find ~/serverfiles -name tmp -type d returns anything? If not, then we're closing in on your issue. (Run this as the ts3server user.)

Edit - ALSO ... Would you please post the output (dumped in /tmp/postme) from:

killall -KILL wget 
wget "http://dl.4players.de/ts/releases/?C=M;O=D" -q -O - > /tmp/postme
darioriccioni commented 8 years ago

Tried to give that command but doesn't return anything... Anyway, to let you understand, the last post I sent was right after I relaunched again the script for a clean install and it's still running, still stuck at the same point. I'll try use that command again after I'll get the error and script ends to see if it returns anything, but this means I could have to wait hours...

cedarlug commented 8 years ago

If that command hangs, then something else is fishy.

Is it possible that you're blocking http connections? Does a simple wget http://yahoo.com -q -O - also hang?

darioriccioni commented 8 years ago

Nothing in /tmp/postme and wget http://yahoo.com -q -O - doesn't hang

cedarlug commented 8 years ago

So wget hangs to the 4players.de site, but not to others? How about curl:

curl -o /tmp/output "http://dl.4players.de/ts/releases/?C=M;O=D"
UltimateByte commented 8 years ago

We've seen someone with its IP blocked from 4players once, might be it again. Well spotted @cedarlug

cedarlug commented 8 years ago

Good old DDoS protection - Making life more secure for them by making it more difficult for the rest of us.

UltimateByte commented 8 years ago

The only way to workaround this would be for us to mirror their server. I could do it with some bash script, a subdomain virtualhosted, and a cronjob.

darioriccioni commented 8 years ago

Yep we find what's the problem. Tried the command cedarlug told me to try and guess what? Stuck on 0%.

UltimateByte commented 8 years ago

So @dgibbs64 @cedarlug @marvinl97 Should we mirror this server since many people seem to have trouble getting the files from it ?

dgibbs64 commented 8 years ago

Could do. I cannot see why not. Might be worth talking to the Teamspeak devs about it as well.

UltimateByte commented 8 years ago

I can create a "misc" folder into lgsm, with the script we could use to deploy our mirrors.

UltimateByte commented 8 years ago

@darioriccioni What you can do however is manually install ts3 in serverfiles, then LGSM will handle server management, except auto update won't be possible, for now, until we're able to do something.

darioriccioni commented 8 years ago

Since I saw on the Teamspeak website that they use gamed!de alongside 4Netplayers for providing their files, is there a way to modify the scripts and try to let them work with gamed!de also? Cause if I can't use your script for installing or updating the TS server then your script would be useless at all for me.

UltimateByte commented 8 years ago

If i remember well, 4netplayers can't be used to get the latest version as easilly (or at all) as 4players.de.

darioriccioni commented 8 years ago

Err... 4netplayers and 4players.de are the same thing... And from what I saw, on gamed!de they're up to date with the releases. Even found out that what http://dl.4players.de/ts/releases/ is for 4netplayers, http://teamspeak.gameserver.gamed.de/ts3/releases/ is for gamed!de so they should work the same way.

UltimateByte commented 8 years ago

So if you want this to work instantly, download it from client side, and upload the extracted zip to /home/ts3server/serverfiles Then LGSM will handle it. Otherwise, i'll mirror the thing,when i got time because it'll require a script to keep it updated, and so that we can have several mirrors.

UltimateByte commented 7 years ago

So if you got an URL for ts3 (@Titou74 ), other than 4players.de, you can edit : update_ts3.sh

Use this file instead http://hastebin.com/efajukeceq.bash

If you're editing by hand, note that i also removed fn_update_ts3_currentbuild from the bottom of the file. Untested, but should work fine. Of course you cannot update your installation this way, except maybe changing the URL and clearing old files in lgsm/tmp and running the installer again. Some data may be lost during such a process, so i cannot advise for it.

lu4ki commented 7 years ago

Fixed update ts3.sh. He now works correctly with teamspeak.gameserver.gamed.de: https://hastebin.com/tibegexiju.bash (Admin edit: Mirror http://pastebin.com/srkrWJYG )

UltimateByte commented 7 years ago

Thanks @lu4ki Maybe we could try pinging servers before starting DL, then, ping the mirror you provided if 4players.de doesn't work, and add a few messages to inform the user.

dgibbs64 commented 5 years ago

this mirror is no longer used so the issue should be resolved

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