Ergebnis 21 bis 30 von 30
Thema: Linux-Server (Ubuntu)
-
02.07.2021, 11:19 #21Capt. Clark
Linux-Server (Ubuntu)
Code:[11:02:48] [Server thread/ERROR]: Failed to save level ./tortuga java.io.IOException: Permission denied at java.io.UnixFileSystem.createFileExclusively(Native Method) ~[?:?] at java.io.File.createTempFile(File.java:2143) ~[?:?] at net.minecraft.world.level.storage.Convertable$ConversionSession.a(Convertable.java:402) ~[spigot.jar:3162-Spigot-f773da8-b121d3b] at net.minecraft.server.level.WorldServer.save(WorldServer.java:890) ~[spigot.jar:3162-Spigot-f773da8-b121d3b] at net.minecraft.server.MinecraftServer.saveChunks(MinecraftServer.java:853) ~[spigot.jar:3162-Spigot-f773da8-b121d3b] at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1220) ~[spigot.jar:3162-Spigot-f773da8-b121d3b] at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1027) ~[spigot.jar:3162-Spigot-f773da8-b121d3b] at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:307) ~[spigot.jar:3162-Spigot-f773da8-b121d3b] at java.lang.Thread.run(Thread.java:831) [?:?]
Code:sudo chmod o=r+w+x /opt/minecraft
Das Problem fing an, seit ich den MC-Server auf 1.17 hochgezogen habe, samt Update von Java 11 auf Java 16. Und dann habe ich auch noch eine neue Welt über Multiverse-Core generiert und diese mit dem CavesAndCliffs-Preview-Datapack versehen (damit ich beim Update auf 1.18 nicht wieder eine neue Welt generieren muss).
Edit:
Nöpe, habe den Server gerade neu gestartet, es kommt immernoch der "java.io.IOException: Permission denied" Fehler..
-
-
02.07.2021, 19:42 #22medeman
Linux-Server (Ubuntu)
Als welcher Benutzer läuft der Minecraft Server (bzw. Java) denn? Sowas wie ps -ef | grep java dürfte da aufschlussreich sein (die linke Spalte ist der Benutzername (bzw. die UID, wenn kein Benutzername zugeordnet werden kann).
Mit ls -l siehst du die Berechtiungen im jeweiligen Verzeichnis. Das chmod o=r+w+x ist übrigens (fast) nie eine gute Idee, o steht für "others" (u für "user" und g für "group"), d.h. der Ordner ist damit "world-readable" (und schlimmer writable).
Das Problem wird hier allerdings sein, dass du die Berechtigungen zwar auf den Ordner gesetzt hast, aber nicht rekursiv auf Unterordner und Dateien. Dazu musst du die -R Flag verwenden. Schau erst wie oben beschrieben nach, welcher Benutzer den Java-Prozess ausführt, und dann einmal chown -R 1234:1234 /opt/minecraft ("1234:1234" ist die "UID:PID", also "BenutzernameOderID:GruppennameOderID") und sowas wie chmod -R 0750 /opt/minecraft um die Berechtigungen erstmal generell zu setzen ("user" hat Vollzugriff, "group" kann lesen und ausführen, "others" darf gar nichts). Kannst das auch genauer machen (werden wohl kaum alle Dateien ausführbar sein müssen), aber zumindest für den Anfang dürfte das die Berechtigungsprobleme beheben ohne Tür und Tor zu öffnen.
EDIT (PS):
Würde mir mal einen Alias für ls anlegen, der ein paar Flags gesetzt hat. Ich habe bspw. alias ll='LC_COLLATE=C.UTF-8 ls -lAhF --color=auto' gesetzt (kannst du dir in deine ~/.bashrc packen, falls du Bash benutzt). Dann kannst du einfach ll eingeben und hast eine aufschlussreiche Auflistung statt nur einfach die Dateinamen (l zeigt das ganze als Liste an mit Berechtigungen und Co.; A zeigt alle Dateien an (also auch versteckte), lässt aber "." und ".." weg (sonst nimmst du a statt A), h zeigt die Größenangaben "menschlich" (also in KB, MB usw.) an und F zeigt Suffixe an den Namen an (bspw. "/" für Ordner oder "*" für ausführbar). Das --color=auto macht das ganze schön bunt und die "COLLATE" Geschichte sortiert die Dateinamen (imho) sinnvoller (bspw. sind Dotfiles nicht mitten in den anderen Dateien).
-
14.01.2024, 18:41 #23Capt. Clark
Linux-Server (Ubuntu)
Brauch mal schnell Hilfe, will gerade mit einer Gruppe "Sons of the Forest" (SOTF) spielen und möchte daher den "SOTF Dedicated Server" auf meinem Ubuntu-Server einrichten. Ich bin dieser Anleitung gefolgt: https://www.ionos.de/digitalguide/se...r-ubuntu-2204/
Natürlich nur die Parts die sich nicht auf ein Hosting bei Ionos beziehen, aber die Schritte zur Installation von SteamCMD, SOTF und Wine. Hat alles prima funktioniert, bis zum Schritt 5. Wenn ich den BefehlCode:wine SonsOfTheForestDS.exe -userdatapath "config"
Code:$ wine SonsOfTheForestDS.exe -userdatapath "config" 0048:err:explorer:initialize_display_settings Failed to query current display settings for L"\\\\.\\DISPLAY1". 0024:err:module:process_init L"C:\\windows\\system32\\SonsOfTheForestDS.exe" not found $ 009c:err:rpc:I_RpcReceive we got fault packet with status 0x1c010003
-
05.06.2024, 19:41 #24Capt. Clark
Linux-Server (Ubuntu)
Der letzte Beitrag kann ignoriert werden - habe SteamCMD und Wine wieder deinstalliert und mich entschieden, Spiele-Server nun als Docker-Container zu deployen.
@medeman kannst du mir bei Zeiten mal aushelfen? Ich habe eine Domain registriert und würde diese gerne auf meinen Server zeigen lassen, damit man sich auf die Game-Server über die Domain statt die IP-Adresse+Port einwählen kann. Alternativ auch mit Subdomains wenn es nicht anders geht, da ja mehrere Spiele-Server laufen wie Minecraft, Valheim oder zukünftig auch Sons of the Forest oder Astroneer (wenn ich Docker richtig verstanden und eingerichtet habe). Und wenn du dann noch Zeit und Lust hast, wäre eine kurze Einführung in Docker Container und die Tücken bei Spieleservern, also Konfigurierbarkeit, Updates etc. auch ganz nett. Also nur wenn du Zeit und Lust hast, kannst mich ja mal in Discord anhauen. Ansonsten suche ich weiter nach Anleitungen im Netz - bisher haben mir diese aber nicht sonderlich weitergeholfen.
Die Domain habe ich über Hostinger.de registriert, war das günstigste Angebot.
-
06.06.2024, 07:31 #25Thaddaeus
Linux-Server (Ubuntu)
Bei deinem Domain-Registrar muss ja weiterhin nur der A-Record auf die Server-IP ausgerichtet werden - thats it. ^^
Welches Spiel darauf auch läuft... die meisten Games, die auf dem Standard-Port angesprochen werden, sind innerhalb des Clients in der Regel dann direkt über die Domain zu finden/zu joinen.
Wenn du den einen oder anderen GameServer auf einen anderen(!) als den Standard-Port führst, müsstest du im Admin-Panel deines Registrars halt auch noch einen SRV-Record zu der entsprechenden Domain anlegen, indem der Port halt angegeben wird.
Zu Tücken, Updates, Konfigurationen usw. der einzelnen Spieleserver lasse ich medeman mal machen, wobei ich ja meine, dass sich das von Spiel zu Spiel unterschiedlich darstellt.
Na da hätte ich dir ganz schwer domainers.de empfohlen. Ich empfehle es trotzdem!
-
06.06.2024, 20:17 #26Capt. Clark
Linux-Server (Ubuntu)
Genau das habe ich gemacht und mit Valheim getestet - nach einem initialen Ladebildschirm (also wurde schon mal eine Verbindung aufgebaut) kam dann die Fehlermeldung "Couldnt connect to the server".
Dann über die IP gejoint um irgendeinen random Fehler im Spiel/meinem Rechner auszuschließen und ich konnte ohne Fehler auf den Server.
Ich nutze den Standardport - bzw. hat die Software LinuxGSM hier die Verwaltung übernommen. Das müsste eigentlich der Vanilla-Valheim-Standard-Port sein. Kann ich aber nochmal nachschlagen in der Doku, vlt hat LinuxGSM ja einen abweichenden Port konfiguriert.
Ich habe dann mal eine Subdomain vergeben; valheim.meinedomain.de und dieser Domain auch wieder die Server-IP zugewiesen - da kommt beim Versuch zu joinen direkt ein DNS-Fehler in Valheim. Über die Main-Domain mit dem A-Record kam immerhin ein Ladebildschirm.
Edit: Über den A-Record funktioniert es jetzt. Habe den Fehler gefunden. Hostinger hatte bereits einen A-Record auf irgendeine IP-Adresse gesetzt (bestimmt von deren Hostingservern). Ich habe den A-Record entfernt und jetzt funktioniert es.
Jetzt noch mit den Docker-Containern weiterkommen, dann kann ich The Forest und Astroneer aufsetzen.^^ Docker-Engine und Portainer sind bereits installiert und eingerichtet, die Verbindung zum Portainer WebUI funktioniert auch. Jetzt muss ich nur verstehen, wie die Container selbst funktionieren und mit welchen Variablen ich das ganze einrichte. Und wie ich dann die Daten wie Server-Configs innerhalb des Containers verändern kann und Updaten kann - muss das nicht ausgelagert werden in ein Volume, damit es beim Ziehen des Container-Images nicht wieder überschrieben wird? Ich habe die Struktur von Docker Containern noch nicht ganz durchblickt.
Edit2: @medeman wenn ich jetzt meine Dynmap über die Domain erreichbar machen möchte (ohne Subdomain), dann brauche ich Nginx oder Apache um einen Proxy einzurichten, right?
-
06.06.2024, 22:41 #27Thaddaeus
Linux-Server (Ubuntu)
Also doch so wie ich beschrieben habe?
Wenn da ein Konflikt durch zwei A-Records entstanden ist, erklärt das freilich so einiges - wobei der Dienstleister das so als "Eingabe" bereits schon gar nicht erlauben dürfte... sehr seltsam.
Aber: Jetzt funktioniert es ja wie gesagt und diese Sache hat sich erstmal erledigt. ^^
Zugegeben hatte ich anders als mit Linux-Servern vor dem Minecraft-Server mit Docker absolut nichts zu tun.
Allerdings lerne ich dahingehend schnell und medeman darf mich in jedem Punkt korrigieren, aber so wie ich das verstehe, sind speziell die einzelnen "Server-Configs" stets individuell und werden so ausgeführt, wie sie vom Entwickler (ob vom Spiel oder nen MP-Mod...) eben zur Verfügung gestellt werden - also NICHT einheitlich.
Was die Installation, das Updaten und das Aufsetzen betrifft, gibt es von sämtlichen Multiplayer-Games fertige Docker-Images (siehe z.B. https://hub.docker.com/) zu sämtlichen Games, unter anderem neben Minecraft auch zu Valheim, The Forest oder Astroneer... das Vorgehen ist dann mal abgesehen von bestimmten Parametern weitestgehend immer gleich
Diese Images ziehst du dir z.B. mit "docker pull >image<", startest den docker run-Befehl für dieses Image, erstellst nen Volume dafür um den Container eben damit zu starten...
Bei einem Update werden die bestehenden Images (der alten Version) mit "docker rm bla..." entfernt, dann mit "docker pull ..." in der neuen Version gezogen und erneut mit "docker run ..." gestartet.
Für diesen ganzen (ersten) Prozess hat medeman damals ein fertiges bash-Script verwendet und mir für einen weiteren Server zur Verfügung gestellt - ähnliches dürfte es auf github/reddit auch für sämtliche andere Gameserver geben.
Ob mit Subdomain oder nicht:
Du brauchst ne interne Proxy-Bridge, die auf den Port der Map zeigt. Im Beispiel der Map wäre das bei nginx (bitte nutze niemals Apache) für die Domain/Sub-Domain-Config:
location / {
proxy_pass http://127.0.0.1:PORT;
}
Wobei hier "PORT" natürlich ausgetauscht werden müsste durch deinen Dynmap-Port. Bei mir auf der Bluemap ist das halt 8100.
//Edit:
Ich starte jetzt mal für 30 Minuten Discord... können gerne kurz quatschen usw. - geht dann evtl. schneller
Mehr Zeit ist leider nicht drin.
-
07.06.2024, 11:02 #28Capt. Clark
Linux-Server (Ubuntu)
Ja, ich habe ja nie behauptet, dass so wie du es beschrieben hast falsch wäre. Bei mir hat es initial nur nicht funktioniert, aber der "Fehler" lag wie gesagt am doppelten A-Record. Wieso das im Domain-Hosting ohne Fehlermeldung geht ist die Frage, der "Editor" lässt beliebig viele Einträge zu.. vlt. macht das in irgendeinem bestimmten Anwendungsfall Sinn? Kenne mich leider 0 mit Domain- und Webhosting aus.
Was Docker angeht, kenne ich mich mit der grundsätzlichen Funktionsweise schon aus - das Management-Tool Portainer läuft ja selbst als Container, den ich problemlos einrichten konnnte indem ich einfach der offiziellen Portainer Dokumentation gefolgt bin.
Nur wie ich jetzt bspw. einen Astroneer-Server als Docker-Container konfiguriere, also Einstellungen wie Server-Passwort verändere und diese dauerhaft gespeichert werden, habe ich noch nicht durchblickt. Beim nächsten Update wird doch das Docker-Image erneut gezogen und die individuellen Einstellungen sind dann überschrieben?
Danke für den Tipp mit Nginx! Das hört sich ja erstmal simpel an, aber ich habe noch nie Nginx benutzt oer irgendeine Art von Webhosting. Kostet das viel Performance? Der kleine vServer hat 4 Kerne und 8GB RAM, für Minecraft und Valheim hat das bisher gereicht, auch wenn beide Server parallel laufen. Meistens zocken wir zu dritt oder viert maximal auf den Servern - ganz ganz selten mal mehr, wenn Sonne, Mond, Sterne und alle erdnahen Galaxien perfekt ausgerichtet sind.^^
Sorry, Edit zu spät mitbekommen, hätte bei mir aber auch nicht mehr gepasst zu der Zeit.^^ Werde jetzt am WE mal versuchen mich weiter einzulesen und Videos zu schauen. Vlt klärt sich ja alles.
-
07.06.2024, 12:37 #29medeman
Linux-Server (Ubuntu)
-
07.06.2024, 16:46 #30Thaddaeus
Linux-Server (Ubuntu)
Nein, das eh nicht - aber es ging aufgrund des doppelten DNS-Eintrags trotzdem nicht wie beschrieben XD
Ist natürlich schon "zach"... die Registrare die ich verwende, verweigern so "unsinnige" (weil widersprüchliche) DNS-Einträge oder geben mindestens ne Info zu dem Konflikt aus die man dann erst noch bestätigen müsste, wenn man das doch so haben will.
Technisch wüsste ich jetzt gar nicht, wie das dann läuft... vermutlich hatte der erste (alte) A-Record, den du dann noch gelöscht hast, Priorität. Oder andere DNS-Server übernahmen im Wechsel mal den einen oder anderen Eintrag. Keine Ahnung.
Lustigerweise gab es heute bei uns in der Arbeit auch ein gewaltiges DNS-Problem bei einem unserer Dienstleister (Spam/Viren-Protection) über den jedwede Mail vor unserem Exchange-Server geht, weiß nicht ob du HornetSecurity kennst. Da ging von nach 9 Uhr Morgens bis vor ~ner Stunde mal gar nichts mehr, die wollten ihren DNS-Server wohl von domaincontrol.com auf nen eigenen Server umziehen... und haben da was ganz extrem verkackt, dass die Kunden global diesen Dienst nicht mehr nutzen konnten - selbst jedwede Website von denen war nicht mehr erreichbar... lol
Also alles was mit Docker zu tun hat, ist was meine Antworten betrifft mit Vorsicht zu genießen - hier ist medeman vermutlich deutlich tiefer drin. So wie ich das kannte, sind die einzelnen Server-Configs halt je nach Spiel weiterhin stehts unterschiedlich. Bei Minecraft sind das eben z.B. so Files wie die "server.properties", bei Astroneer eben so Config-Files wie "AstroServerSettings.ini".
Die Konfiguration der einzelnen GameServer bleibt meiner Einschätzung so wie sie halt ist, unabhängig davon, ob in nem Docker-Container laufend oder direkt auf der Maschine.
Jetzt erst habe ich mich aber in Portainer eingelesen, ich kannte das tatsächlich einfach nicht... und ja... okay... da sollte das dann doch einheitlich in "einem Guss" zu Managen sein - sehr interessant das Ding übrigens und danke dafür.
Sofern die Configs durch ein Update keine NEUEN Möglichkeiten bieten, würden sich hier halt "Bind Mounts" anbieten, um gewisse Config-Dateien direkt vom Host in den Container einzubinden - damit würden diese Configs unberührt bleiben. Bezüglich Portainer sollte es da aber durchaus geschicktere Möglichkeiten geben, die ich jetzt aber noch nicht kenne.
Nein, die Performance von nginx ist minimal und liegt sowieso weit unter Apache. Die Performance nimmt halt zu je nach dem, wie viele http/https-Sessions gerade offen sind, wie viele Benutzer also gerade per Browser darauf zu greifen. Aber wenn das mal 10 oder 20 Leute gleichzeitig sind, ist das halt einfach noch gar nichts... ^^
Aber das können wir gerne am Wochenende machen. Mit nginx klar zu kommen geht schnell, ist ziemlich simpel. Haste halt dein Verzeichnis, in der für jede Domain und/oder Sub-Domain ne eigene kleine Config-File abgelegt wird, die du auf deinen Server eben zeigen lässt... und legst dann fest, wie was wo passiert.... :0)
Ähnliche Themen
-
Ubuntu/Linux problem: Hey Leute, ich hab das problem, dass ich mein Ubuntu/Linux Passwort vergessen habe und keine möglichkeit wüsste irgenwie ohne mich anzumelden eine n... -
Ubuntu oder Linux?: könnt ihr mir sagen was besser ist?:D -
Linux ubuntu 8.10 Deinstallieren: wollte mal fragen wenn ich linux wieder deinstallieren möchte wie ich es dan machen muss? Ich möchte dan auch wieder die 20 GB Partition zu meinen... -
Linux Ubuntu Installations Fehler: Siehe 3.Beitrag von Gamma MfG Gamma -
MediaCenter-Funktion an Linux (Ubuntu) anbinden: ich habe versucht den MedaClient der PS3 an meine Ubuntu Kiste anzubinden. verwendet habe ich den gmediaserver und medaitomb. beide werden auch...
Rutenschlag. Easy.
Pokémon Trading Card: Pocket