Просмотр полной версии : Сервера
Народ помогите плиз )
Хочу научиться писать програмы под Л2 :(
дайте пару ссылок на статейки... по отправлению и принятию пакетов через TCP ...
Вообще хочу написать программу.. которая будет конектиться к логин серверу считывать кол-во игровых серверов, узнавать максимально разрешенный онлайн ... и кол-во играюищх на сервере, если уже есть подобное то кому не жалко .. от исходников не откажусь
__________________
Спасибо за ответы
Хочу научиться писать програмы под Л2молодец =)
дайте пару ссылок на статейки... по отправлению и принятию пакетов через TCP ...а поиск поюзать?
узнавать максимально разрешенный онлайн ... вот это вроде низя.
а поиск поюзать?
Да все ткоо про типы пакетов ... ничего больше(
Да все ткоо про типы пакетов ... ничего больше(попробуй компоненты поискать готовые.
вот это вроде низя.
Можно
попробуй компоненты поискать готовые.
Думаю таковых не существует...
Думаю таковых не существует...
пора уже дано было написать такую VLC компоненту с пропертями (IP Protocol Port name pass) и методами (BypassProtection,Login,Farm,RunScript,PKAll)
:D
Вообще хочу написать программу.. которая будет конектиться к логин серверу считывать кол-во игровых серверов, узнавать максимально разрешенный онлайн ... и кол-во играюищх на сервере, если уже есть подобное то кому не жалко .. от исходников не откажуськак раз вчера такую написал), исходников дать немогу а так сама прога вот: http://xkor.homeip.net/files/l2ru%20server%20monitor.rar
работает на интерлюдах, камаэлях и грациях с авторизацией с РСА...
199
У меня не работает (
нажмимаю update ничего не происходит
NoFear, ну на руофе вопервых счас рестарт а прога по умолчанию на него настроена а во вторых у тя акк то на оффе есть?, без ака можно только на шоках получить список серверов...
на скрине IP адрес шоков...
Ну уж не такой тупой что б не додуматься акк вбить))
а на счет рестарта не знал
Добавлено через 48 секунд
скажите как подключиться к логин серверу?? всь день бьюсь.. инфы в инете ваще нету(
Добавлено через 6 минут
var
packet:string;
size:word;
function StringToHex(str1,Separator:String):String;
var
buf:String;
i:Integer;
begin
buf:='';
for i:=1 to Length(str1) do begin
buf:=buf+IntToHex(Byte(str1[i]),2)+Separator;
end;
Result:=buf;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
IdTCPClient1.Host:=Edit1.Text;
IdTCPClient1.Port:=StrToInt(Edit2.Text);
try
IdTCPClient1.Connect;
except
end;
end;
procedure TForm1.IdTCPClient1Connected(Sender: TObject);
begin
IdTCPClient1.ReadBuffer(size,2);
SetLength(packet, size-2);
IdTCPClient1.ReadBuffer(packet[1], size-2);
memo1.Lines.Add(StringToHex(packet,' '));
end;
мне приходит пакет 00 04 2B 28 45 5A 78 00 00 - причем 2 байт всегда разный ...
дальше как я понимаю должно быть RequestAuthLogin ... - скажите как правильно отправить пакет на RequestAuthLogin? и как правильно шифровать Логин и пароль .. если можно дайте компонент
мне приходит пакет 00 04 2B 28 45 5A 78 00 00 - причем 2 байт всегда разный ..04 2B 28 45 - это ID сессии, на него при ревизии 5A 78 00 00 можн забить
пакетик с логином и паролем формируется примерно так:
procedure AddChecksum(var data:array of char; position: Word);
var
i,k:Word;
begin
k := (position div 4)-1;
for i := 0 to k do
PCardinal(@data[position])^:=PCardinal(@data[position])^ xor PCardinal(@data[i*4])^;
end;
function RequestAuthLogin_785a(const Login,
Pasword: String): string;
var
Packet: TPacket;
LoginD:array[0..13] of Char;
PaswordD:array[0..15] of Char;
begin
with Packet do begin
InitWrite;
FillChar(LoginD,14,0);
FillChar(PaswordD,16,0);
Move(Login[1],LoginD,Length(Login));
Move(Pasword[1],PaswordD,Length(Pasword));
WriteB(0); // Packet ID
Write(LoginD,14); // Login
Write(PaswordD,16); // Password
WriteB(8); // Seporator
WriteD(0);
WriteD(0);
WriteD(0); // Checksum
WriteD(0);
AddChecksum(data[3],40);
Result:=data;
end;
end;
Но все равно не вкуриваю :((
Если кому не сложно можете сделать программу.. которая конектиться к серверу ...и показывает список серверов ...
очень хочу разобарться!!
ип 195.218.197.251
порт 2106
акк admin9999
пасс 123123123
протоком 656
хроники С4
Добавлено через 46 секунд
04 2B 28 45 - это ID сессии, на него при ревизии 5A 78 00 00 можн забить
пакетик с логином и паролем формируется примерно так:
procedure AddChecksum(var data:array of char; position: Word);
var
i,k:Word;
begin
k := (position div 4)-1;
for i := 0 to k do
PCardinal(@data[position])^:=PCardinal(@data[position])^ xor PCardinal(@data[i*4])^;
end;
function RequestAuthLogin_785a(const Login,
Pasword: String): string;
var
Packet: TPacket;
LoginD:array[0..13] of Char;
PaswordD:array[0..15] of Char;
begin
with Packet do begin
InitWrite;
FillChar(LoginD,14,0);
FillChar(PaswordD,16,0);
Move(Login[1],LoginD,Length(Login));
Move(Pasword[1],PaswordD,Length(Pasword));
WriteB(0); // Packet ID
Write(LoginD,14); // Login
Write(PaswordD,16); // Password
WriteB(8); // Seporator
WriteD(0);
WriteD(0);
WriteD(0); // Checksum
WriteD(0);
AddChecksum(data[3],40);
Result:=data;
end;
end;
Делфи 7 ругаеться на строчку Packet: TPacket;
NoFear, ну TPacket это мой объект для работы с пакетами, я его не выкладывал.., я код дал не для компиляции а для изучения)
очень хочу разобарться!!читать как: очень хочу поиметь готовое и почитать?
очень хочу поиметь готовое и почитать+1 :cool:
все хотят поиметь что нибудь :D
читать как: очень хочу поиметь готовое и почитать?
нет)
хочеться разобраться с подключением к логин серверу... а то ловиться токо 1 пакет а дальше ваще хз что делать (
кстати, поиск рулит - http://coderx.ru/showpost.php?p=13769&postcount=33
Рулит рулит.... я уже давно это на рулил ..но .. непонятного слишком много
vBulletin® v3.6.11, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot