Hur får man till så minecraft servern startars upp när Raspberry:n bootar upp ?

Permalänk
Medlem

Hur får man till så minecraft servern startars upp när Raspberry:n bootar upp ?

Tjo,

Nu har jag nog provat 7 olika tips på nätet om hur man gör för att minecraft servern skall startas automatiskt när raspberry:n startar men min minecraft server startar inte.
Detta har jag provat:
Edit the crontab

crontab -e

Paste this line at the end

@reboot /home/pi/minecraft/server/start.sh

----
We are going to create a convenient script to start the server. Type nano minecraft.sh and write the following four lines of code:

if ! screen -list | grep -q "minecraft"; then
cd /home/pi/minecraft
screen -S minecraft -d -m java -jar -Xms512M -Xmx1008M spigot-1.16.1.jar nogui
fi

chmod +x minecraft.sh

We want the server to start automatically when the Raspberry Pi reboots, so type sudo nano /etc/rc.local and enter su -l pi -c /home/pi/minecraft/minecraft.sh right before the exit command.

----
if ! screen -list | grep -q "minecraft"; then
cd /home/pi/minecraft
screen -S minecraft -d -m java -Xms512M -Xmx2600M -jar spigot-1.15.2.jar nogui
fi

sudo nano /etc/rc.local

Right before the last line 'exit 0' add the following command, save and exit the file. This will allow the minecraft server to start in a detached screen session when the Pi boots up.

screen -dm -S minecraft /home/pi/startup/minecraft.sh

----

Men inget av detta funkar, servern startar inte upp när man startar igång raspberry:n

Någon som vet eller har nya förslag på vad man kan göra ?

/Force

Permalänk
Medlem

Ha hela sökvägen för alla kommandon du kör i din cron, typ "/bin/bash <sökväg till ditt script>"

med 'which bash' så kan du få reda på vad som är sökvägen för 'bash' är (när du kör i din vanliga shell) vilket ger '/bin/bash' för 'bash', och liknande får du göra för varje kommando ytterligare du gör - även i dina script (som 'screen', som låg på '/usr/bin/screen')...

- cron har inte alls samma sökvägs-omgivning (nästan ingen alls faktiskt) till de olika kommandona som du har när du startar en shell, tyvärr de som skriver 'lösningar' i olika exempel har inte provat det själva utan bara i sin egna shell eller så har de satt upp en path för de vanligaste ställena för körbara program innan och därför inte märker av problemet.

Permalänk
Medlem
Skrivet av xxargs:

Ha hela sökvägen för alla kommandon du kör i din cron, typ "/bin/bash <sökväg till ditt script>"

med 'which bash' så kan du få reda på vad som är sökvägen för 'bash' är (när du kör i din vanliga shell) vilket ger '/bin/bash' för 'bash', och liknande får du göra för varje kommando ytterligare du gör - även i dina script (som 'screen', som låg på '/usr/bin/screen')...

- cron har inte alls samma sökvägs-omgivning (nästan ingen alls faktiskt) till de olika kommandona som du har när du startar en shell, tyvärr de som skriver 'lösningar' i olika exempel har inte provat det själva utan bara i sin egna shell eller så har de satt upp en path för de vanligaste ställena för körbara program innan och därför inte märker av problemet.

Hmm... är inte med på vad du menar.

Permalänk
Medlem

har du "screen" ? har för mig det var tvunget att installeras separat

sudo apt-get install screen

ja bara la till i rc.local längst ner på raden över exit 0

sudo screen -dm -S minecraft /home/Minecraft_Server/autostart.sh

använder du inte screen borde koden se ut nått sånt här i rc.local.
[code]

sudo /home/Minecraft_Server/autostart.sh

min server start fil heter autostart.sh medans du valt att döpa den till start.sh är väl ända skillnaden så du behöver ändra raden till vad du valt att namnge .sh filen som startar servern.

min "autostart" fil som den ropar på innehåller

#!/bin/bash echo Loading Minecraft Server sleep 20 cd /home/usb-disk/Minecraft_Server/ && sudo java -XX:ParallelGCThreads=4 -Xms1G -Xmx4G -jar /home/usb-disk/Minecraft_Server/paper-206.jar nogui

kör du den inte från en usb disk kan du ignorera sleep 20 var tvungen att lägga till det så att min usb disk hann bli monterad innan den fösökte starta servern dvs scriptet väntar först 20 sec innan den försöker starta.

kort och gott autostart ska innehålla

cd [/adress till mapp innehållande server jar filen/] && Sudo java Xms[]M-Xmx[]M -jar [/exakt adress till server jarfilen.jar] nogui

följde typ guiden på M3
https://m3.idg.se/2.1022/1.721228/raspberry-pi-minecraft-serv...

förutom att jag valt att buildtool ska hämta 1.16.3 istället för 1.14 (sudo java -jar BuildTools.jar --rev 1.16.3)

men har sedan gått över till paper server istället då den känns inte lika tungdragen
https://github.com/PaperMC/Paper

men handlar bara om att ladda ner paper.jar till server mappen och peka om .sh filen till rätt jarfil

Permalänk
Medlem
Skrivet av Rouge of Darkness:

har du "screen" ? har för mig det var tvunget att installeras separat

sudo apt-get install screen

ja bara la till i rc.local längst ner på raden över exit 0

sudo screen -dm -S minecraft /home/Minecraft_Server/autostart.sh

använder du inte screen borde koden se ut nått sånt här i rc.local.
[code]

sudo /home/Minecraft_Server/autostart.sh

min server start fil heter autostart.sh medans du valt att döpa den till start.sh är väl ända skillnaden så du behöver ändra raden till vad du valt att namnge .sh filen som startar servern.

min "autostart" fil som den ropar på innehåller

#!/bin/bash echo Loading Minecraft Server sleep 20 cd /home/usb-disk/Minecraft_Server/ && sudo java -XX:ParallelGCThreads=4 -Xms1G -Xmx4G -jar /home/usb-disk/Minecraft_Server/paper-206.jar nogui

kör du den inte från en usb disk kan du ignorera sleep 20 var tvungen att lägga till det så att min usb disk hann bli monterad innan den fösökte starta servern dvs scriptet väntar först 20 sec innan den försöker starta.

kort och gott autostart ska innehålla

cd [/adress till mapp innehållande server jar filen/] && Sudo java Xms[]M-Xmx[]M -jar [/exakt adress till server jarfilen.jar] nogui

följde typ guiden på M3
https://m3.idg.se/2.1022/1.721228/raspberry-pi-minecraft-serv...

förutom att jag valt att buildtool ska hämta 1.16.3 istället för 1.14 (sudo java -jar BuildTools.jar --rev 1.16.3)

men har sedan gått över till paper server istället då den känns inte lika tungdragen
https://github.com/PaperMC/Paper

men handlar bara om att ladda ner paper.jar till server mappen och peka om .sh filen till rätt jarfil

Mmm...
provat detta också men det funkar inte. Screen är installerad, nu märkte jag en annan skum grej till att jag fjärrstyr servern via putty och när jag startar servern sudo java -Xms512M -Xmx2600M -jar /home/pi/minecraft/spigot-1.15.2.jar nogui manuellt så startar den upp och det går att komma in i spelet. Stänger jag ner putty med krysset så stängst servern av ? Inte själva Raspberryn utan minecraft servern ? Det förstår jag inte heller ?

Permalänk
Medlem
Skrivet av forcevision:

Mmm...
provat detta också men det funkar inte. Screen är installerad, nu märkte jag en annan skum grej till att jag fjärrstyr servern via putty och när jag startar servern sudo java -Xms512M -Xmx2600M -jar /home/pi/minecraft/spigot-1.15.2.jar nogui manuellt så startar den upp och det går att komma in i spelet. Stänger jag ner putty med krysset så stängst servern av ? Inte själva Raspberryn utan minecraft servern ? Det förstår jag inte heller ?

Processen dör när du dödar terminalen. Du måste köra servern från screen också för att undvika det, räcker inte med att bara installera det. Lägg till screen innan kommandot:

screen sudo java -Xms512M -Xmx2600M -jar /home/pi/minecraft/spigot-1.15.2.jar nogui

Givetvis kan du också starta screen först, och sedan starta servern från screens prompt, om det känns mer logiskt.

En annan variant är att starta servern i bakgrunden, utan screen:

sudo java -Xms512M -Xmx2600M -jar /home/pi/minecraft/spigot-1.15.2.jar nogui &

Screen är dock smidigt för nybörjaren, skönt att slippa geggla med fg/bg etc om man ska manipulera processen.

Permalänk
Medlem
Skrivet av kaput:

Processen dör när du dödar terminalen. Du måste köra servern från screen också för att undvika det, räcker inte med att bara installera det. Lägg till screen innan kommandot:

screen sudo java -Xms512M -Xmx2600M -jar /home/pi/minecraft/spigot-1.15.2.jar nogui

Givetvis kan du också starta screen först, och sedan starta servern från screens prompt, om det känns mer logiskt.

En annan variant är att starta servern i bakgrunden, utan screen:

sudo java -Xms512M -Xmx2600M -jar /home/pi/minecraft/spigot-1.15.2.jar nogui &

Screen är dock smidigt för nybörjaren, skönt att slippa geggla med fg/bg etc om man ska manipulera processen.

Jepp provade det och det funkade. Nu är det bara hur jag får igång servern när man bootar.

Permalänk
Medlem

borde räcka med att lägga till denna raden nedan i /etc/rc.local

sudo screen -dm -S minecraft java -Xms512M -Xmx2600M -jar /home/pi/minecraft/spigot-1.15.2.jar nogui

servern kommer starta osynlig för att få fram server konsollen så skriver du i terminalen

sudo screen -r minecraft

och för att gömma server konsollen igen

trycker du på tangenterna

Ctrl+a ctrl+d

Permalänk
Medlem
Skrivet av Rouge of Darkness:

borde räcka med att lägga till denna raden nedan i /etc/rc.local

sudo screen -dm -S minecraft java -Xms512M -Xmx2600M -jar /home/pi/minecraft/spigot-1.15.2.jar nogui

servern kommer starta osynlig för att få fram server konsollen så skriver du i terminalen

sudo screen -r minecraft

och för att gömma server konsollen igen

trycker du på tangenterna

Ctrl+a ctrl+d

Jepp trodde det med men det funkar inte. Servern är inte startad.

Permalänk
Medlem

ja då vet jag inte... är precis så jag gjort och det fungerar iaf...

kolla stavning osv i rc.local den ä väldigt petig med stora/små bokstäver märkte jag.

ända jag kan komma på som ev kan tjura.

vad kör du för operativ?

kanske är lite olika melan olika distar?

jag använder Raspberry Pi OS 64bit beta iom att jag har en 8Gb pi4

men ganska säker på att guiden är gjord med Raspberry Pi OS 32bit i tanke så borde fungera om du kör det

kanske kan skilja om du kör någon ubuntu dist eller nåt är inte super hemma på linux system hur stor skillnad det är mellan olika distar men inte omöjligt att du får göra på något annat sätt i det.

Permalänk
Medlem
Skrivet av Rouge of Darkness:

ja då vet jag inte... är precis så jag gjort och det fungerar iaf...

kolla stavning osv i rc.local den ä väldigt petig med stora/små bokstäver märkte jag.

ända jag kan komma på som ev kan tjura.

vad kör du för operativ?

kanske är lite olika melan olika distar?

jag använder Raspberry Pi OS 64bit beta iom att jag har en 8Gb pi4

men ganska säker på att guiden är gjord med Raspberry Pi OS 32bit i tanke så borde fungera om du kör det

kanske kan skilja om du kör någon ubuntu dist eller nåt är inte super hemma på linux system hur stor skillnad det är mellan olika distar men inte omöjligt att du får göra på något annat sätt i det.

Jag kör samma fast 32bit
Men kör jag detta kommandot manuellt screen sudo java -Xms512M -Xmx2600M -jar /home/pi/minecraft/spigot-1.15.2.jar funkar det. Men hur kan jag komma åt denna screen när jag stängt ner den ?

Permalänk
Medlem
Skrivet av forcevision:

Jepp provade det och det funkade. Nu är det bara hur jag får igång servern när man bootar.

Finns fler sätt att göra det, om vilket som är bäst tvista de lärde. Jag hade gjort det via init.d, då det ger en helt annan kontroll över när och hur servern startas än om man bara drämt in startkommandot i rc.local, och smidiga möjligheter att styra servern om man vill ladda om konfiguration efter ändringar etc. Antar det kan bli en del sådant.

Tyvärr är det inte helt trivialt, och kräver att du lägger lite tid på att läsa på. Det är för många inblandade parametrar för att det ska vara rimligt att sitta här och snitsla en bana åt dig.

Utformningen och användandet av init.d-scripts har också ändrats en del genom åren, se till att du hittar hyfsat färsk information. Ett förslag är att du tar en kik på befintliga init.d-scripts i /etc/init.d för att få ett begrepp om hur de är utformade. Låt dig inte skrämmas för mycket av att de scriptsen kan vara rätt intimiderande, det du eventuellt skriver för minecraftservern kommer vara betydligt enklare.

Ett bra sökargument för Google kunde vara "Pi OS init.d start script".

Hittar du inget specifikt för Pi OS, så bör det som funkar med Debian Buster även funka med det förstnämnda.

Skrivet av forcevision:

Jag kör samma fast 32bit
Men kör jag detta kommandot manuellt screen sudo java -Xms512M -Xmx2600M -jar /home/pi/minecraft/spigot-1.15.2.jar funkar det. Men hur kan jag komma åt denna screen när jag stängt ner den ?

Logga in igen med Putty, kör kommandot:

screen -dr

Edit: I teorin hade det räckt med -r som växel, men att slänga med d (detach) också är en god vana, för händelsen att screen inte hunnit fatta att du dödat terminalen än

För att detacha screen och komma tillbaka till ursprungsshellet utan att stänga ner Putty kan du använda tangentkombinationen ctrl+a+d. Bra att veta.

Permalänk
Medlem
Skrivet av kaput:

Finns fler sätt att göra det, om vilket som är bäst tvista de lärde. Jag hade gjort det via init.d, då det ger en helt annan kontroll över när och hur servern startas än om man bara drämt in startkommandot i rc.local, och smidiga möjligheter att styra servern om man vill ladda om konfiguration efter ändringar etc. Antar det kan bli en del sådant.

Tyvärr är det inte helt trivialt, och kräver att du lägger lite tid på att läsa på. Det är för många inblandade parametrar för att det ska vara rimligt att sitta här och snitsla en bana åt dig.

Utformningen och användandet av init.d-scripts har också ändrats en del genom åren, se till att du hittar hyfsat färsk information. Ett förslag är att du tar en kik på befintliga init.d-scripts i /etc/init.d för att få ett begrepp om hur de är utformade. Låt dig inte skrämmas för mycket av att de scriptsen kan vara rätt intimiderande, det du eventuellt skriver för minecraftservern kommer vara betydligt enklare.

Ett bra sökargument för Google kunde vara "Pi OS init.d start script".

Hittar du inget specifikt för Pi OS, så bör det som funkar med Debian Buster även funka med det förstnämnda.

Logga in igen med putty, kör kommandot:

screen -dr

Jag kollade på init.d men kör script m.m kändes för detta ändamål overkill. För det mesta står servern på. Men tack för tipset.

Perfekt nu fick jag fram serverns consol 😁
Tack för hjälpen

Permalänk
Medlem
Skrivet av forcevision:

Jag kollade på init.d men kör script m.m kändes för detta ändamål overkill. För det mesta står servern på. Men tack för tipset.

Perfekt nu fick jag fram serverns consol 😁
Tack för hjälpen

Åhå, då kanske det rimligaste är att få det att lira med start från rc.local då.

Om det funkar att göra så (vet inte hur screen reagerar på att startas utan tillgång till stdout) kan det ju vara rätt smidigt att köra servern i screen. Gör det skapligt enkelt för dig om du vill manipulera processen, bara att reattacha screenen (screen -dr) och göra som du gör nu.

Har du testat att använda absoluta sökvägar till de inblandade binärerna i kommandot? Såhär skulle kommandot kunna se ut med dylika:

/usr/bin/screen /usr/bin/sudo /usr/bin/java -Xms512M -Xmx2600M -jar /home/pi/minecraft/spigot-1.15.2.jar nogui

Märk väl att jag inte har en aning om var screen-, sudo- och javabinärerna är installerade på ditt system, gissar bara på att de ligger i /usr/bin. Du får kolla upp det och modifiera kommandot därefter om nödvändigt.

Permalänk
Medlem

jag hade använt systemd, men det är kanske inte så lätt om man inte har jobbat med det alls.

Men du borde kunna följa den här rakt av: https://minecraft.gamepedia.com/Tutorials/Server_startup_scri...

Permalänk
Medlem

Tror det klarnade lite nu förresten, började ifrågasätta varför sudo alls fanns med i bilden. Det lär vilja ha sudoer password, vilket det inte får, och så fallerar det.

Testa detta (återigen, du får kolla binärernas sökvägar först):

/usr/bin/screen /usr/bin/java -Xms512M -Xmx2600M -jar /home/pi/minecraft/spigot-1.15.2.jar nogui

Oavsett om det lirar eller ej kan du testa i rc.local också, där det lär köras med systemrättigheter, om det nu mot förmodan är så att en spelserver behöver mer än användarrättigheter.

Permalänk
Medlem
Skrivet av kaput:

Tror det klarnade lite nu förresten, började ifrågasätta varför sudo alls fanns med i bilden. Det lär vilja ha sudoer password, vilket det inte får, och så fallerar det.

Testa detta (återigen, du får kolla binärernas sökvägar först):

/usr/bin/screen /usr/bin/java -Xms512M -Xmx2600M -jar /home/pi/minecraft/spigot-1.15.2.jar nogui

Oavsett om det lirar eller ej kan du testa i rc.local också, där det lär köras med systemrättigheter, om det nu mot förmodan är så att en spelserver behöver mer än användarrättigheter.

Mmm.... jag läste att man inte skall använda sudo egentligen när jag kör servern. Men kör jag inte sudo så går det inte att starta servern.

Permalänk
Medlem
Skrivet av forcevision:

Mmm.... jag läste att man inte skall använda sudo egentligen när jag kör servern. Men kör jag inte sudo så går det inte att starta servern.

Okej, låter märkligt.

Funkar det med absoluta sökvägar till binärerna? Sudo har sin egen pathvariabel, som inte nödvändigtvis måste vara densamma som användarkontots.

Du kan också kolla binärernas rättighetsflaggor, just in case. Lättast är väl att köra:

ls -l /usr/bin/java

ls -l /usr/bin/screen

...givet förstås att binärerna ligger i /usr/bin.

Först i outputen har du nåt i stil med "-rwxr-xr-x"

Det intressanta är de sista r och x. Ser det likadant ut som i exemplet, eller är det - istället för något av de sista r eller x?

Permalänk
Medlem

Nu ställer jag en fråga här om någon skulle veta varför jag får detta felmeddelandet på min Minecraft server efter den stått på några timmar:
[User Authenticator #1/ERROR]: Couldn't verify username because servers are unavailable
[15:58:00] [Server thread/INFO]: com.mojang.authlib.GameProfile@70e521[id="<null>,name=username,properties={},legacy=false"] (/ip-nr:56334) lost connection: Authentication servers are down. Please try again later, sorry!

I detta läget måste jag starta om servern igen men då funkar den i några timmar till sedan får jag samma felmeddelande ?

Permalänk
Medlem

det är anslutningen till mojangs authentifierings server som kollar så att de som ansluter till servern har en äkta kopia av spelet.

går att stänga av i server.properties genom att ändra online-mode=true till false men då hämtar den ingen konto info som skin osv från mojangs server.

nackdelen att göra det i efterhand är väl att alla användare som redan anslutit får ett nytt user id så deras progression kommer förloras och att det även stänger av en del av spelets anti fusk system.

men ser ju ut som att du ev har lite svajig anslutning använder du Wifi på pajen?
märkte själv att pi4 var lite svajig på wifi

Permalänk
Medlem
Skrivet av Rouge of Darkness:

det är anslutningen till mojangs authentifierings server som kollar så att de som ansluter till servern har en äkta kopia av spelet.

går att stänga av i server.properties genom att ändra online-mode=true till false men då hämtar den ingen konto info som skin osv från mojangs server.

nackdelen att göra det i efterhand är väl att alla användare som redan anslutit får ett nytt user id så deras progression kommer förloras och att det även stänger av en del av spelets anti fusk system.

men ser ju ut som att du ev har lite svajig anslutning använder du Wifi på pajen?
märkte själv att pi4 var lite svajig på wifi

När jag köpt routern och kopplade jag in den och körde ifrån routern att söka upp ny firmware och den hittade och installerade. Men kollade jag på den versionen av firmware som den installerade och på tillverkarens hemsida vilket är Asus finns inte denna versionen. Så jag installerade den senaste versionen av firmware som Asus hade på sin hemsida. Hoppas den blir stabil nu då 😳

Permalänk
Medlem
Skrivet av forcevision:

När jag köpt routern och kopplade jag in den och körde ifrån routern att söka upp ny firmware och den hittade och installerade. Men kollade jag på den versionen av firmware som den installerade och på tillverkarens hemsida vilket är Asus finns inte denna versionen. Så jag installerade den senaste versionen av firmware som Asus hade på sin hemsida. Hoppas den blir stabil nu då 😳

preatade inte om routern jag menade wifi anslutningen på pajen...

min upplevelse är att inte äns liggande bara några meter från routern verkade den få en stabil uppkoppling medans telefon och surfplatta har bra mottagning där och längre bort.

så wifi hårdvaran i pajen är en aning meh testa kabel.

Permalänk
Medlem
Skrivet av Rouge of Darkness:

preatade inte om routern jag menade wifi anslutningen på pajen...

min upplevelse är att inte äns liggande bara några meter från routern verkade den få en stabil uppkoppling medans telefon och surfplatta har bra mottagning där och längre bort.

så wifi hårdvaran i pajen är en aning meh testa kabel.

Mmm.... pajen kör med kabel. Men jag är väldigt säker på att routern är problemet. För så fort jag bryter strömen på routern och startar den igen funkaar det en stund sedan verkr routern hänga sig igen.

Permalänk
Medlem

Så nu är det fixat, bytte ut firmwaaren i routern och gjorde en hårdvaru reset på routern så nu lirar det igen.

En annan fråga ni kanske kan svara på, jag förstår att detta handlar om minnet men vad exakt gör detta Xms512M -Xmx2600M ?
Jag vill så klart ge minecraft servern så mycket med minne som möjligt. Min paj har 4gb.

Permalänk
Medlem
Skrivet av forcevision:

Så nu är det fixat, bytte ut firmwaaren i routern och gjorde en hårdvaru reset på routern så nu lirar det igen.

En annan fråga ni kanske kan svara på, jag förstår att detta handlar om minnet men vad exakt gör detta Xms512M -Xmx2600M ?
Jag vill så klart ge minecraft servern så mycket med minne som möjligt. Min paj har 4gb.

har för mig xms in initial memory och xmx är maximum memory.

har du 4gb ram kan du sätta den till xmx4008M systemet böhöver ca 500-800m

Permalänk
Medlem
Skrivet av Otur:

jag hade använt systemd, men det är kanske inte så lätt om man inte har jobbat med det alls.

Men du borde kunna följa den här rakt av: https://minecraft.gamepedia.com/Tutorials/Server_startup_scri...

Det här.

Permalänk
Medlem
Skrivet av Rouge of Darkness:

har för mig xms in initial memory och xmx är maximum memory.

har du 4gb ram kan du sätta den till xmx4008M systemet böhöver ca 500-800m

Okej men är xms minnet vad sysstemeet kräver ?

Permalänk
Medlem

ne det är det den kommer börja med att låsa till servern och sedan utöka vid behov upp till xmx värdet.

iaf så jag förstått det.

dvs har du xms 500M så kommer den låsa 500M direkt när du startar servern för servern att använda.

och behöver den mer senare kommer den utöka låsningen till vad den behöver men max vad du satt xmx till

Permalänk
Medlem
Skrivet av Rouge of Darkness:

ne det är det den kommer börja med att låsa till servern och sedan utöka vid behov upp till xmx värdet.

iaf så jag förstått det.

dvs har du xms 500M så kommer den låsa 500M direkt när du startar servern för servern att använda.

och behöver den mer senare kommer den utöka låsningen till vad den behöver men max vad du satt xmx till

Aha ok, då är jag med på grejerna. 👍

Permalänk
Medlem

Finns det någon logg fil för minecraft servern ?
För helt plötsligt stängde servern av sig när dom spelade. Nyfiken varför den gjorde det.