Skocz do zawartości

[Terraria] Instalacja terrarii (TShock.4.2) na serwerze linuksowym – debian squeeze


mamka

Rekomendowane odpowiedzi

OK, pora na wypociny, (całość dostępna

terraria.eu.org/instalacja-terrarii-tshock-4-2-na-serwerze-linuksowym-debian-squeeze/ 

) co prawda bardzo pobieżne bo nie ma co zagłębiać
się w dyskusje dlaczego tak a nie inaczej. A opis jest raczej dla ludzi
którzy lizneli linuksa.

 

polecenia linuksowe czarny pogrubiony tekst
zawartość edytowalnych plików jakiś tam niebieski
Komunikaty z konsoli jakiś tam zielony
Ważne rzeczy i UWAGI czerwony


Ja zacząłem od czystej instalacji debiana squeeze w xenie ale to już mniej istotne.
Pierwsza rzecz jaka musimy zrobić to uaktualnić sources.list w tym celu klepiemy.


vi /etc/apt/sources.list
i dopisujemy:


deb

http://security.debian.org/

wheezy/updates main
deb-src

http://security.debian.org/

wheezy/updates main


# squeeze-updates, previously known as ‚volatile’
deb

http://ftp.pl.debian.org/debian/ 

wheezy-updates main
deb-src

http://ftp.pl.debian.org/debian/ 

wheezy-updates main


deb

http://ftp.pl.debian.org/debian/

wheezy main non-free
deb-src

http://ftp.pl.debian.org/debian/

wheezy main non-free


Po każdej zmianie w sources.list należy wykonać następujące polecenia.


apt-get update; apt-get upgrade -y


Kolejna sprawa to instalacja przydatnych rzeczy.

apt-get install screen vim unzip -y


apt-get install mono-complete gcc libtool bison pkg-config libglib2.0-dev gettext make bzip2 g++ -y


Troszkę tego będzie ale jest to konieczne.
Następnie dodajemy grupe i usera na którym będzie działał nam serwer terrarii.


groupadd terraria
useradd –gid terraria -d /home/terraria -m -s /bin/bash terraria


Musimy teraz przelogować się na usera terraria żeby pobrać i
rozpakować TShock. Oczywiście można to zrobić z root’a ale co user to
nie root , chodzi o security.


su – terraria


wget –no-check-certificate

 https://github.com/NyxStudios/TShock/releases/download/v4.20015/TShock.4.2.zip

unzip TShock.4.2.zip


ln -s serverplugins ServerPlugins

Teraz musimy ręcznie uruchomić terrarie w celu stworzenia domyślnej konfiguracji.


mono TerrariaServer.exe -ip 0.0.0.0 -port 7777 -maxplayers 8


Jeżeli podczas uruchamiania dostaniemy błąd w stylu:


WARNING: The runtime version supported
by this application is unavailable. Using default runtime: v1.1.4322 The
assembly mscorlib.dll was not found or could not be loaded.


Oznacza to, że mamy starą wersje mono, musi on być w wersji 2.10.x. Aby sprawdzić w jakiej wersji masz mono klepnij:


dpkg -l mono-complete
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-=============================-===================-=============
ii
mono-complete 2.10.8.1-8 amd64
complete Mono runtime, development tools and all libraries


Jeżeli masz mono w wersji 2.8 jedynym rozwiązaniem jest dopisanie do sources.list to co podałem wyżej i klepnięcie


apt-get dist-upgrade


Podczas pierwszego uruchamiania terrari będziemy pytani o:


TShock for Terraria is open & free software. If you paid, you were scammed.
Port overridden by startup argument. Set to 7777
Startup parameter overrode maximum player slot configuration value.
|> Version 4.2.0.1019 (And the great beast rose from its slumber, ready to take on the world again.) now running.
AutoSave Enabled
Backups Disabled
[server API] Info Plugin TShock v4.2.0.1019 (by The Nyx Team) initiated.
Terraria Server v1.2.0.3.1


n New World
d <number> Delete World


Choose World: n
Terraria Server v1.2.0.3.1


1 Small
2 Medium
3 Large
Choose size: 3


Terraria Server v1.2.0.3.1
Enter world name: world


Na powyższe pytanie wpisz world ponieważ w skrypcie uruchamiającym serwer terrarii jest podana właśnie taka nazwa:
DAEMONARGS=”-ip 0.0.0.0 -port 7777 -world ~/Terraria/Worlds/world.wld -maxplayers 8″
Jeżeli ustawisz inną nazwę konieczne będzie wyedytowanie /etc/init.d/terraria-server i poprawienie nazwy


Saving world data: 100%


Terraria Server v1.2.0.3.1


1 Worlds
n New World
d <number> Delete World


Choose World: 1


Terraria Server v1.2.0.3.1
Server port (press enter for 7777):


Terraria Server v1.2.0.3.1


Listening on port 7777
Type ‚help’ for a list of commands.


TShock Notice: To become SuperAdmin, join the game and type /auth 4939327
This token will display until disabled by verification. (/auth-verify)
:


Mamy uruchomioną terrarie. Warto od raz zrobić zapis świata klepiąc w konsoli terrari save:


: save
Server executed: /save.
Save succeeded.
: Saving world. Momentary lag might result from this.
Saving world data: 1%
Saving world data: 2%
Saving world data: 3%
……..
Saving world data: 100%
Backing up world file…
World saved.


Skoro mamy już uruchomioną konsole terrari warto od razu dodać superusera, robimy to poleceniem


: user add Tata TajneHaslo superadmin
Account Tata has been added to group superadmin!
Server added Account Tata to group superadmin


Teraz możemy ją spokojnie wyłączyć czyli klepiemy w konsoli terrarii /off.
Teraz
będzie potrzebny nam skrypt automatycznie uruchamiający terrarie po
fizycznym restarcie maszyny bądź do ręcznego restartowania,
zatrzymywania i łączenia się do konsoli terrarii.
Gotowy skrypt jest do pobrania pod adresem

http://terraria.eu.org/terraria-serve.

Czyli klepiemy:


wget -O /etc/init.d/terraria-server

http://terraria.eu.org/terraria-server

Dajemy uprawnienia do uruchamiania:


chmod +x /etc/init.d/terraria-server


Oraz dodajemy do runleweli.


insserv -v /etc/init.d/terraria-server
insserv: enable service ../init.d/terraria-server -> /etc/init.d/../rc0.d/K01terraria-server
insserv: enable service ../init.d/terraria-server -> /etc/init.d/../rc1.d/K01terraria-server
insserv: enable service ../init.d/terraria-server -> /etc/init.d/../rc2.d/S01terraria-server
insserv: enable service ../init.d/terraria-server -> /etc/init.d/../rc3.d/S01terraria-server
insserv: enable service ../init.d/terraria-server -> /etc/init.d/../rc4.d/S01terraria-server
insserv: enable service ../init.d/terraria-server -> /etc/init.d/../rc5.d/S01terraria-server
insserv: enable service ../init.d/terraria-server -> /etc/init.d/../rc6.d/K01terraria-server
insserv: creating .depend.boot
insserv: creating .depend.start
insserv: creating .depend.stop


Kolejny krok to włączenie RestApiEnabled w config.json


cd /home/terraria/tshock
sed -i ’s/”ServerPassword”: /”ServerPassword”: „TajneHaslo”/’ config.json

sed -i ’s/”RestApiEnabled”: false/”RestApiEnabled”: true/’ config.json


Pozostaje uruchomić serwer terrarii poleceniem


/etc/init.d/terraria-server start


Połączenie do konsoli terrari nawiązujemy wydając polecenie:


/etc/init.d/terraria-server connect


Rozłączenie z konsolą terrari polega na wyjściu ze screen’a czyli klepiemy Crtl+a+d.


OK, pora na tshockweb


apt-get install python-cherrypy3 python-httplib2 -y
su – terraria
unzip tshockweb-1.2.zip
cd tshockweb
mkdir /home/terraria/Terraria/Worlds/backup


 


Pozostaje poprawić konfiguracje edytując tshockweb.properties bądź użyć perla:)
Oczywiście polecenia w jednej linii.


perl -i -pe „s/log_path = ’c\:\/tshock\/tshock’/log_path = ’\/home\/terraria\/tshock/g” tshockweb.properties


perl -i -pe „s/world_path = ’C\:\/Documents and
Settings\/Administrator\/My Documents\/My
Games\/Terraria\/Worlds’/world_path =
’\/home\/terraria\/Terraria\/Worlds’/g” tshockweb.properties


perl -i -pe „s/world_backup_path = ’C\:\/Documents and
Settings\/Administrator\/My Documents\/My
Games\/Terraria\/Worlds\/backup’/world_backup_path =
’\/home\/terraria\/Terraria\/Worlds\/backup’/g” tshockweb.properties


perl -i -pe „s/tools.staticdir.root =
’c\:\/tshockweb’/tools.staticdir.root = ’\/home\/terraria\/tshockweb’/g”
tshockweb.properties


Oczywiście może ręcznie wyedytować plik /home/terraria/tshockweb/tshockweb.properties np:


vi /home/terraria/tshockweb/tshockweb.properties


i pozmieniać wpisy/ścieżki.
Ostatnia rzecz to dopalenie
tshockweb.py. Na chwilę obecną opalam ją ręcznie i istotne jest to, że
trzeba przejść do katalogu w którym jest tshockweb i dopiero klepnąć.


/usr/bin/python2.7 /home/terraria/tshockweb/tshockweb.py


Powinniśmy dostać taki komunikat na konsoli


root@terraria:/home/terraria/tshockweb# /usr/bin/python2.7 /home/terraria/tshockweb/tshockweb.py
[23/Oct/2013:13:43:48] ENGINE Bus STARTING
[23/Oct/2013:13:43:48] ENGINE Started monitor thread ‚_TimeoutMonitor’.
[23/Oct/2013:13:43:48] ENGINE Serving on 0.0.0.0:17070
[23/Oct/2013:13:43:48] ENGINE Bus STARTED


Sprawdzamy czy działa klepiąc w przeglądarkę

http://ip_serwera:17070
Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 miesiące temu...
  • 1 miesiąc temu...
  • 2 miesiące temu...
  • Aive zmienił(a) tytuł na [Terraria] Instalacja terrarii (TShock.4.2) na serwerze linuksowym – debian squeeze

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający forum [Terraria] Instalacja terrarii (TShock.4.2) na serwerze linuksowym – debian squeeze   0 użytkowników
    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...