Minetestserver auto start/restart.

Fórum: 

Sziasztok!

 

Gyerekeknek telepítettem egy ubuntu 20.04 LTS szerverre a minetestservert. Az alábbi videó alapján : https://www.youtube.com/watch?v=c7D3aK-8rew

Azt szeretném, hogy a játék a gép indulásakor automatikusan induljon el, valamint ha leáll bármi miatt akkor induljon újra.

Rengeteg leírás van de sajnos egy olyat sem találtam amit a root könyvtárba telepítettek volna.

Jelenleg a játék indítása úgy zajlik, hogy elnavigálok a /root/mineteset könyvtárba és ott kiadom a

./bin/minetestserver parancsot. Persze ehhez be kell lépnem a szerver grafikus felületére.

Ssh-n becsatlakozva is tudom indítani de kilépéskor a minetest is leáll.

Erre szerténk megoldást kérni tőletek.

 

 

Köszönöm.

Gábor

 

kimarite képe

Újraindítás. Túl korai kérdés

Értékelés: 

0
Még nincs értékelve

Újraindítás. Túl korai kérdés.

Kérdés az, miért áll le. Előfordult? Oka kiderült?
Vagy csak a klienseket dobja el? Mi a hiba, mit mutat a napló erről?

Egy beállítás, amit ki kell venni megjegyzésből (#). Így:

#    Whether to ask clients to reconnect after a (Lua) crash.
#    Set this to true if your server is set up to restart automatically.
#    type: bool
ask_reconnect_on_crash = false

Itt látható (1437-1440):
https://github.com/minetest/minetest/blob/master/minetest.conf.example

Automatikus indítás

Azon rendszer, asztali környezet automatikus indítási lehetőségét (Indítópult, stb.) kell elolvasnod, amire a szervert telepítetted. Hogy hova tedd be ezt:

cd /root/minetest//bin/ ; ./minetestserver

Milyen rendszer és milyen asztali környezet?

Ilyen elgépelés nem lehet: mineteset

Újraindítás. Túl korai kérdés

Értékelés: 

0
Még nincs értékelve

#1

Köszönöm a gyors választ.
 

„Kérdés az, miért áll le. Előfordult? Oka kiderült?”

A leállást egy mod okozta (konkrétan a Draconis mod, amit a github-ról töltöttem le és tettem bele a játékba. Összeveszett az armor mod- al. Ha a páncélt akarta felvenni a játékos hibával leállt a játék) Gyerekek szóltak és megkerestük. A mod le lett tiltva. Az ilyen és ehhez hasonló hibák miatt gondoltam rá, hogy az automatikus újraindítás jól jöhet. Persze a hibát nem javítja, de kapok némi időt.

„Milyen rendszer és milyen asztali környezet?”

Ubuntu 20.04 LTS server

Nincs asztali környezet.

„Ilyen elgépelés nem lehet: mineteset”

Tudom. Ezt nem vettem észre :)

Egy beállítás, amit ki kell venni megjegyzésből (#). Így:

# Whether to ask clients to reconnect after a (Lua) crash.

# Set this to true if your server is set up to restart automatically.

# type: bool

ask_reconnect_on_crash = false

Megtörtént.

https://imgur.com/JKvFmCp

 

Gábor 

kimarite képe

Újraindítás. Túl korai kérdés

Értékelés: 

0
Még nincs értékelve

#2 Megtörtént.

Szóköz nem lehet előtte.
A szerkesztés érvényesüléséhez a szervert, a megfelelő szolgáltatásokat újra kell indítani.

A leállást egy mod okozta (konkrétan a Draconis mod, amit a github-ról töltöttem le és tettem bele a játékba. Összeveszett az armor mod- al. Ha a páncélt akarta felvenni a játékos hibával leállt a játék) Gyerekek szóltak és megkerestük. A mod le lett tiltva. Az ilyen és ehhez hasonló hibák miatt gondoltam rá, hogy az automatikus újraindítás jól jöhet. Persze a hibát nem javítja,..-

Nem biztos, hogy jó az automatikus újraindítás. Ha valaki betör, akkor a leállítás megakasztja. Nem?

Újraindítás. Túl korai kérdés

Értékelés: 

0
Még nincs értékelve

#3

A hiba javítva. Kivettem a szóközt és újraindítottam. 

„Nem biztos, hogy jó az automatikus újraindítás. Ha valaki betör, akkor a leállítás megakasztja. Nem?”

Lehet, hogy félreérthető voltam, vagy én nem értelek :)

Szó nincs arról hogy azt a szervert kintről bárki elérje. (Nem tudom megvédeni a rendszert. Az én tudásom ahhoz édeskevés ) Csak Lan-on elérhető.

 

A Mod-ok kiegészítők a játékban. Ezeket lehet egyesével hozzáadni a játékhoz és bővíteni az eszköztárat, egyebeket.

Van választék :https://content.minetest.net(külső hivatkozás)

 

Esetemben két ilyen kiegészítő akadt össze. (szoftveres ütközés) Emiatt a minetestserver összeomlik és leáll.

Az ilyen hiba miatt szeretném ha a Minetestserver újra elindulna és a játékosok ismét be tudnának lépni a játékba. Nem kellene nekem manuálisan elvégezni. Azután, ha ilyen van akkor ütemezve reprodukálnák a hibát és akkor már el tudnám olvasni  mi okozta. 

 

Gábor

kimarite képe

két ilyen kiegészítő akadt össze

Értékelés: 

0
Még nincs értékelve

#4 Esetemben két ilyen kiegészítő akadt össze. (szoftveres ütközés) Emiatt a minetestserver összeomlik és leáll.

Az ilyen hiba miatt szeretném ha a Minetestserver újra elindulna és a játékosok ismét be tudnának lépni a játékba.

De újra le fog állni, és megint, és megint... :)
Más megoldást kéne találni, jelenteni a kiegészítő hibáját, ilyesmi.

két ilyen kiegészítő akadt össze

Értékelés: 

0
Még nincs értékelve

#5

"De újra le fog állni, és megint, és megint... :)"

Ha olyan a hiba akkor az azonnal kiderül az első indításnál. 

Ha meg olyan, hogy az indításkor nem dob hibát csak bizonyos esetekben, az kifigyelhető és ha nem teszi meg azt az egy ... valamit .. akkor a játék nem omlik össze :) viszont van infó, hogy mi okoza a hibát.

Itt is az valami hasonlóról van szó.. csak nem értem meg :(  google sem kellően jó barátom :D 

https://forum.minetest.net/viewtopic.php?t=4604

kimarite képe

két ilyen kiegészítő akadt össze

Értékelés: 

0
Még nincs értékelve

#6 Nyilván lehet bash scriptet írni, ami bizonyos időközönként figyeli, hogy fut-e a Minetest szerver. De például egy-két másodpercenkénti figyelés eléggé erőforrás pazarló is lehet.

Nem értesz. Ha két összeférhetetlen modul be van kapcsolva, akkor tuti összeakad. Végleg ki kell kapcsolni a problémát okozót, és akkor nem áll le a szerver. És hibát jelenteni. Más ok miatt is leáll?

Ez nem vált be?

ask_reconnect_on_crash = false

két ilyen kiegészítő akadt össze

Értékelés: 

0
Még nincs értékelve

#7

"Nem értesz. Ha két összeférhetetlen modul be van kapcsolva, akkor tuti összeakad. Végleg ki kell kapcsolni a problémát okozót, és akkor nem áll le a szerver."

De értelek :) és azt is tettem a hibát okozó modult kikapcsoltam. sőt ki is töröltem.  Máskor ha adok hozzá új mod-ot akkor ez megismétlődhet. Hosszú idő mire kiderül mi az. maximum annyit tudok, hogy az utóljára telepített mod okozta. Visztont egy mod több mindent is hozzáadhat a játékhoz. Elég lehet csak azt az egy özetevőt tiltani nem az egészet.

Ha játék közben jelentkezik a hiba feltehetően a játékos megpróbálja megísmételni azt amit akart. Akkor ismét jelentkezik a hiba és rájön hogy azt nem lehet ... akkor már szűkült a kör.

"Ez nem vált be?

ask_reconnect_on_crash = false"

 

Megcsináltam és nem tudom. A játék most stabil nincs vele baj.. de ha jönnek a kívánságok és megpróbálom teljesíteni akkor instabillá is válhat. Akkor kiderül hogy jó-e :)

 

Ma már nem, de a hétvégén megpróbálok valamit kreálni hogy szimuláljak hibát. Akkor kiderülhet.

Most lepihenek mert holnap munka.

Köszönöm, hogy időt szántál rám :) 

jóéjt

Szolgáltatás készítése

Értékelés: 

0
Még nincs értékelve

Szia!

Mi lenne ha csinálnál belőle egy systemd szolgáltatást?

sudo mcedit /etc/systemd/system/minetest.service
[Unit]
Description=Minetest Server
After=syslog.target network.target

[Service]
Type=forking
Restart=on-failure
RestartSec=5s
User=minetest
Group=minetest 

# Environment= csak ha kellenek hozzá környezeti változók

ExecStart=/root/mineteset/bin/minetestserver 
# ExecStop=/root/mineteset/bin/minetestserver hogy kell leállítani?

[Install]
WantedBy=multi-user.target

Mondjuk ami még jó lenne, ha nem root-ként funta a szerver, csinálnál neki usert:

sudo adduser --system --uid 900 -U minetest
sudo -u minetest mkdir /home/minetest/minetest

és azt használnád futtatásra. Ott kellene lennie a játéknak is.

Ezután:

systemctl daemon-reload
systemctl enable minetest

amivel automatikusan indul majd a szerver és

systemctl start minetest

amivel el is indítod azonnal.

(Ez csak egy ki nem próbált összeállítás, ahogy kb. működtetni lehetne - vagy legalábbis én így próbálnám.)

Szolgáltatás készítése

Értékelés: 

0
Még nincs értékelve

#9

Szia! 

 

"Mi lenne ha csinálnál belőle egy systemd szolgáltatást?"

Megcsináltam de nem nem indul el :)

A felhasználó hozzáadása sem sikeredik. 

A terminál válasza a parancsra: https://pastebin.com/kA4tX6xc

Időközben úgy döntöttem, hogy újrakezdem az alapoktól. 

Létrehoztam egy ubuntu 20.04 LTS  virtuális szervert.

Esetleg ha segítetek a telepítésben azt nagyon megköszönöm :)

Gábor 

kimarite képe

Value "minetest" invalid for option uid (number expected)

Értékelés: 

5
Átlag: 5 (1 szavazat)

#10 Mmm, ne rövidítsd le a kapcsolókat itt.

Ajánlott:

sudo adduser --system --uid 900 -U minetest

Általad használt (rosszul):

sudo adduser -s -u 900 -U minetest

A kimenetben a válasz:

adduser --system [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID]
[--gecos GECOS] [--group | --ingroup GROUP | --gid ID] [--disabled-password]
[--disabled-login] [--add_extra_groups] USER

Habár, inkább a 900-as UUID-val problémázik...

Kimenet?

groups minetest

És így, „U” nélkül? (man adduser)

sudo adduser --system --uid 900 minetest

Value "minetest" invalid for option uid (number expected)

Értékelés: 

0
Még nincs értékelve

#11

Szia! 

Elnézést a kései reagálásért.

 

Így már működik. Ezt az új rendszeren csináltam. 

"Ajánlott:

sudo adduser --system --uid 900 -U minetest"

Terminál válasza: 

sudo adduser --system --uid 900 minetest
Adding system user `minetest' (UID 900) ...
Adding new user `minetest' (UID 900) with group `nogroup' ...
Creating home directory `/home/minetest' ...

groups minetest Kimenete: 

craft@inetest-server:~$ sudo groups minetest
[sudo] password for craft: 
minetest : nogroup

És ezt a parancsot is lefuttattam: 

sudo -u minetest mkdir /home/minetest/minetest


A mappa létrejött 

cd /home/minetest/

craft@inetest-server:/home/minetest$ ls

minetest

Ezt követően lehet telepíteni a dedikált szervert a minetest felhasználó minetest mappájába ?

Gábor 

kimarite képe

Value "minetest" invalid for option uid (number expected)

Értékelés: 

0
Még nincs értékelve

#12 Ezt követően lehet telepíteni a dedikált szervert a minetest felhasználó minetest mappájába ?

Azt gondolom, igen.