Entwickler-Ecke
Freeware Projekte - L2ServerManager
JayEff - Fr 19.08.05 02:19
Titel: L2ServerManager
Grundidee
Lineage2 ist ein MMORPG, nutzt IIRC die Unreal Engine und ist, zumindest auf offiziellen Servern, kostenpflichtig. Man zahlt an die 10€ pro Monat. Nun gibt es aber sog. Freeshards, kostenlose Server, auf denen z.T. pre-Alpha Serverapplications laufen, weshalb sie ab und zu mal abstürtzen. Nun ist es allerdings echt blöd, wenn man gerne Zocken würde, aber dummerweise grad der Server down ist. Darum hab ich mir gedacht: Schreib ein Programm, in dem man seine Server verwalten kann.
Funktionsweise
Das Programm speichert die Informationen in eine ini Datei im Installationsordner. Beim Starten des Spiels wird die hosts-Datei überschrieben, diese befindet sich in (meist C):\WINDOWS\system32\drivers\etc\ (Warum auch immer Lineage2 diesen Ordner benutzen muss, ist mir nicht klar.) In dieser Datei steht die IP des Servers (Das Spiel selber ist nicht darauf ausgelegt, verschiedene Server zu kennes, da man ja auf offiziellen Servern spielen soll). Der Status des Servers wird mit einer ClientSocked überprüft, die auf die Ports 7777 für den Gameserver und auf 2106 für den Loginserver connected.
Features
- Speichern einer unbegrenzten Serveranzahl
- Automatisches Suchen der L2.exe und der hosts-Datei
- Speichern von Username&Passwort auf den einzelnen Servern, werden aber nicht ans Spiel übergeben, nur zur Erinnerung.
- Überprüfen des Status' des Servers
Bugs/Todo
- Keine Bugs bekannt/Keine Verbesserungsvorschläge eingegangen
Download
http://www.jayy.de/L2SA.zip
...und jetzt fragt mich blos nicht, warum es L2SA heist, und nicht L2SM. Ist wahrscheinlich ein Tippfehler...?
demo88 - So 21.08.05 15:15
hab mehrere sachen gefunden:
1. wenn kein eintrag in der serverliste vorhanden ist kommen andauern fehlermeldungen
-oder lag daran das eine input box offen war
2. der server check funktioniert bei mir nicht. (server war online wurde aber als offline angezeigt) ging auch nicht anders da sich meine firewall komischerweise nicht gemeldet hat. versucht das programm überhaupt ins internet zu kommen? muss ja eigentlich...
übrigens. der devils server ist blöd, da er dauernd down ist und es da kein richtiges rp gibt
http://www.world-of-mystery.de (keine lags, so gut wie nie down, nur rp, funktioniert fast alles)
JayEff - So 21.08.05 16:54
Danke Danke aber was den Devilsserver betrifft hab ich eigentlich keine Lust mehr... Ich meine ich habe an die 6 High Level Chars verloren... Und als es dann einen Rollback von vor 5 Tagen gab und aus meinem lvl 48 Spellsinger ein lvl 19 Wizard geworden ist, ist mir, ich weis nicht warum, entgültig die Lust auf L2 vergangen...
Deine Firewall sollte sich schon melden, meine tuts ja auch! :shock: Hast du ZoneAlarm? Schau doch mal in der Liste der blockierten Programme nach, on der ServerManager dabei ist, dass würde es ja erklären. Hier mal der code, den ich zum überprüfen verwende:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54:
| Procedure TForm1.Timer1Timer(Sender: TObject); Begin If CheckBox1.Checked Then Begin ClientSocket.host := ServerList[ListBox1.ItemIndex].IP; ClientSocket.Port := 7777; Panel1.Color := clYellow; ClientSocket.Open; Label3.Caption := 'Status: Checking...'; End; End;
Procedure TForm1.ClientSocketConnect(Sender: TObject; Socket: TCustomWinSocket); Begin ClientSocket.Close; Case ClientSocket.Port Of 7777: Begin Panel1.Color := clGreen; ClientSocket.Port := 2106; Panel2.Color := clYellow; ClientSocket.Open; End; 2106: Begin Panel2.Color := clGreen; Label3.Caption := 'Status:'; End End;
End;
Procedure TForm1.ClientSocketError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; Var ErrorCode: Integer); Begin ClientSocket.Close; ErrorCode := 0; Case ClientSocket.Port Of 7777: Begin Panel1.Color := clRed; ClientSocket.Port := 2106; Panel2.Color := clYellow; ClientSocket.Open; End; 2106: Begin Panel2.Color := clRed; Label3.Caption := 'Status:'; End; End; End; |
Kannsts ja mal versuchen, aber ich glaube es dürfte funktionieren...
demo88 - So 21.08.05 22:57
ich werds noch mal probieren
darf ich den codeschnippsel für ein anderes programm von mir verwenden, ich suche schon lange nach ner lösung wie man den server selbst anpingt und nicht nur den pc.
Narses - So 21.08.05 23:17
Moin!
Hmm, der Code für den Server-Test kommt mir doch bekannt vor... :wink:
cu
Narses
JayEff - So 21.08.05 23:58
Der kommt sowieso von Narses oder so jemand von einem anderen Thread ;) klar kannst den von MIR aus verwenden... ^^
Delete - Mo 22.08.05 00:45
Titel: Re: L2ServerManager
JayEff hat folgendes geschrieben: |
| Beim Starten des Spiels wird die hosts-Datei überschrieben, diese befindet sich in (meist C):\WINDOWS\system32\drivers\etc\ |
Ich hoffe du sicherst diese Datei irgendwo. Das ist nämlich eine ganz empfindliche Datei, wenn es um Netzwerk und Internetverbindungen geht. Und wie stellst du dir original Datei wieder her, wenn dein Programm deinsatlliert oder gelsöcht wird?
JayEff - Mo 22.08.05 01:05
Nun... Wenn ich ganz ehrlich bin, hatte ich mich schon gewundert... ähm... NEIN die wird nicht gesichert und NEIN ich hatte keine ahnung, dass die von mehr als nur von Lineage benutzt wird O_O Wie kommt ein Spiel darauf, gerade eine derartige Datei zu verwenden?! Das muss doch anders gehn! Nun - ich werd sofort eine Sicherung einbauen... Was aber das Deinstallieren betrifft: Da mein Programm nur aus einer Exe und einer ini besteht, gibt es keine Deinstallationsroutine... Darum wird das wiederherstellen eher schwer.
edit: Unter dem alten Link ist nun eine Version verfügbar, die beim ersten mal ausführen ein Backup erstellt.
Delete - Mo 22.08.05 01:44
Dann informier dich mal im Internet wozu diese Datei gut ist. Wenn dort falsche Eintragungen stehen kann es sein, dass weder Internet noch LAN geht. Desweiteren kann man diese Datei auch nur mit Administratorenrechten bearbeiten!
JayEff - Mo 22.08.05 02:26
Das hatte ich mir sowieso gedacht, aber das Spiel ist ja wie gesagt nicht darauf ausgelegt, auf anderen als den offiziellen Servern gespielt zu werden...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!