Autor Beitrag
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Fr 19.08.05 02:19 
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
www.jayy.de/L2SA.zip


...und jetzt fragt mich blos nicht, warum es L2SA heist, und nicht L2SM. Ist wahrscheinlich ein Tippfehler...?

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
demo88
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 160

Ubuntu 6.04, Win XP
Delphi 7
BeitragVerfasst: 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
www.world-of-mystery.de (keine lags, so gut wie nie down, nur rp, funktioniert fast alles)

_________________
"Das ist kein Bug, das ist ein Feature..."
JayEff Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: 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:

ausblenden volle Höhe 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 160

Ubuntu 6.04, Win XP
Delphi 7
BeitragVerfasst: 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.

_________________
"Das ist kein Bug, das ist ein Feature..."
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: So 21.08.05 23:17 
Moin!

Hmm, der Code für den Server-Test kommt mir doch bekannt vor... :wink:

cu
Narses
JayEff Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: 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... ^^

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 22.08.05 00:45 
user profile iconJayEff 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: 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.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: 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...

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.