Probleme bei der Migration nach Linux 56b

Rund um die Technik von 55R + 56

Moderator: Mods - Sphere

Antworten
Nachricht
Autor
Incanus
Junior Mitglied
Beiträge: 61
Registriert: 04 Feb 2004 16:29
Kontaktdaten:

Probleme bei der Migration nach Linux 56b

#1 Beitrag von Incanus » 26 Nov 2008 21:15

Probleme bei der Migration eines Windows Sphereservers 56b nightly nach Linux:

Die Situation:
Bisher läuft unser Server auf einem Windows 2003, welches wiederrum in einem VMWare Server auf einem dezidierten Linux-Server läuft. Da bei hoher Spielerlast jedoch kleinere Lags hinzukamen, probieren wir nun die Linux Version von Sphere aus. Der Windows Server lief soweit stabil und ist die letzten Wochen nicht gecrasht.
Scripte, Ini-Einstellungen und Muls wurden ohne Änderungen (so unten nicht genannt) übernommen.

Konfiguration des Servers:
- Debian Etch 64bit
- Locales stehen auf de_DE
- Sowohl unter Windows, als auch unter Linux ist der sphere.ini flag EF_UNICODE _NICHT_ gesetzt.
- Sphere Version: 56b nightly Pre-release September 09 2008 (zum jetztigen Zeitpunkt die neuste)

Client:
- 5.04b

Probleme geordnet nach abgesteigender Wichtigkeit:

1.) Stabilität
17:23:ERROR:5b:Dead Socket Timeout
17:23:5b:Client disconnected [Total:28] ('62.178.61.224' 1/1)
17:25:CRITICAL:'Main' thread hang, restarting...
17:25:FATAL:Server Unstable: Aborted
17:25:ERROR:3f:Tx Error 0
17:25:ERROR:60:Tx Error 0
17:25:60:Client disconnected [Total:27] ('88.71.198.197' 0/0)
17:25:ERROR:5e:Tx Error 0
17:25:ERROR:50:Tx Error 0
17:25:ERROR:46:Tx Error 0
17:25:ERROR:42:Tx Error 0
17:25:5e:Client disconnected [Total:26] ('80.140.78.38' 0/0)
17:25:50:Client disconnected [Total:25] ('80.137.100.181' 0/0)
17:25:3f:Client disconnected [Total:24] ('84.62.197.92' 0/0)
17:25:46:Client disconnected [Total:23] ('82.83.36.238' 0/0)
17:25:42:Client disconnected [Total:22] ('84.131.113.197' 0/0)

Danach habe ich den Server dann gekillt, da dieser nicht mehr reagierte. Etwas ähnliches ist am nächsten Tag noch einmal passiert mit, aber ca. 30 Sekunden später lief der Server als wäre nichts passiert. Auch hier fand sich folgendes im Log: "Dead Socket Timeout"

(Die Einstellung EF_UseNetworkMulti war aus)

2.) Wenn Spieler etwas schreiben, dass Umlaute enthält, wird dies zu ca. 80% richtig ausgegeben. Es kann aber auch passieren, dass die Umlaute einfach verschluckt werden, und das Gesprochene ohne Umlaute dargestellt wird. Dies tritt willkürlich auf. Beim gleichen Spieler wird das Gesprochene mal mit und mal ohne Umlaute ausgegeben. Ohne dass dieser zwischendurch ausloggt oder sonst irgendetwas ändert.

3.) Umlaute im Profil funktionieren im Gegensatz zum Windows Server nicht mehr.

4.) Umlaute in Befehlen wie SYSMESSSAGEUA funktionieren nicht mehr. Zum Beispiel haben wir für einen GM-Chat verwendet (gekürtzt):
[FUNCTION staffchat]
SERV.ALLCLIENTS SYSMESSAGEUA 026, 0, 0, 0, <SRC.NAME> [Staff]:<ARGS>

(Auch andere Werte für den Language-Parameter bringen keine Änderung)
Damit liesse sich leben, da man den ARGS einigermaßen gut parsen und die Umlaute umwandeln kann: ä->ae usw.

Ähnliches gilt für den DHTMLGUMP Befehl, den wir für unser Page-System nutzen. Auch hier werden keine Umlaute mehr ausgegeben, sondern einfach verschluckt.

5.) Der Server beginnt extrem zu laggen, wenn die Einstellung EF_UseNetworkMulti verwendet wird. Unter Windows funktioniert dieser Parameter hervorragend, Client-Crashs aufgrund von zu vielen Items gehörten der Vergangenheit an. Unter Linux das genaue Gegenteil: Extrem langsamer Bildaufbau, man sieht die Items um sich herum "aufploppen". Teleportieren in zu dich dekorierte Gebiete führt dazu, dass der Client hängt und schliesslich nicht mehr reagiert.

Verwendet man diesen Parameter nicht, läuft erstmal alles soweit flüssig. Werden es aber extrem zu viele Objekte crasht der Client.

6.) Assert Fehlermeldungen dieser Art:
03:36:CRITICAL:Assert pri=2:'index < RES_INDEX_MASK' file '../common/CResourceBase.h', line 134, in CChar::NPC_TickAction() #1 "idle"
03:36:DEBUG:'Angshima' [0ec]

Kommen immer mal wieder, aber scheinen keine Auswirkung zu haben. Schöner wäre es natürlich ohne.


Daraus ergeben sich die folgenden Fragen:
- Wie kann man diese Probleme beheben?
- Oder sollte man für einen Live-Server besser doch Windows einsetzen?
- Wenn es sich um Bugs, und nicht um Fehleinstellungen meinerseits handelt, bestehen realistische Chancen, dass diese gefixt werden?

nazghul

#2 Beitrag von nazghul » 26 Nov 2008 22:41

Was ich mich frage: Warum fragst Du das HIER und nicht auf sphereserver.net?

Incanus
Junior Mitglied
Beiträge: 61
Registriert: 04 Feb 2004 16:29
Kontaktdaten:

#3 Beitrag von Incanus » 27 Nov 2008 15:59

Ich hatte die Hoffnung, dass sich für die Problematik der Umlaute in einem deutschsprachigen Forum eher eine Lösung findet. Immerhin werde ich hier nicht der erste sein, der sich an der Linux Version versucht.

Zudem tippt es sich auf Deutsch erst einmal schneller runter ;)

Aber danke für den Tipp, das ganze noch auf sphereserver.net zu posten.

nazghul

#4 Beitrag von nazghul » 27 Nov 2008 16:22

Wenns nur um die Umlaute geht: Der Server benutzt sowohl unter Linux als auch unter Windows Systemfunktionen zur Aufbereitung von Texten. Bei Linux kommen einige Systemaufrufe damit nicht klar. UNICODE würde helfen, aber als das bei Sphere eingeführt wurde, war die Unicode-Unterstützung unter Linux dermassen grottenschlecht, dass man es ausgeklammert hat. Seither hatte wohl einfach niemand Lust, das zu benutzen (ob das EF-Flag inzwischen unter Linux funktioniert weiss ich nicht, nie probiert)

Tx-Error bedeutet: Der Server wollte Daten an einen Client schicken, aber die Verbindung war abgebrochen. Warum auch immer.

5) kann ich nicht nachvollziehen (außer dem langsamen Bildaufbau bei gnadenlos überdekorierten gegenden - das ist ja der SINN der Einstellung), Hänger habe ich damit selbst bei >3000 Items und 200 NPC in der Visualrange noch nicht gehabt (dass das Lag grausig ist, muss man wohl nicht erwähnen)

6) Ich weiss zwar, was der Fehler bedeutet, habe aber keine Idee, was ihn auslöst. Da er keineswegs so kritisch ist wie er behauptet hat das wohl "low priority" :)

Benutzeravatar
Torfo
Moderator (Sphere)
Beiträge: 828
Registriert: 13 Jan 2004 12:00
Kontaktdaten:

#5 Beitrag von Torfo » 27 Nov 2008 20:37

Der Fehler aus 6. wird nur in Versionen angezeigt, die mit DEBUG-Define kompiliert wurden. Evtl. kommt es aus dem Grund auch zu schlchterer Performance.
Keine schöne Lösung, aber probier mal ein echtes Linux-Nightly, die sollten etwas schlanker sein.
Bild

Incanus
Junior Mitglied
Beiträge: 61
Registriert: 04 Feb 2004 16:29
Kontaktdaten:

#6 Beitrag von Incanus » 03 Dez 2008 18:54

Danke für die Hilfe soweit.

- Der Fehler aus 6 verschwindet, wenn man das neuste "echte" Nightly verwendet.
- Mit der UNICODE Einstellung crasht Sphere unter Linux und meldet einen Segfault
- Auf sphereserver.net gibt es nun auch einen post dazu.

Antworten