Poseidon Server with 2015-11-04aRagexe.exe

Private server support - Only post connectivity issues in the subforum!

Moderator: Moderators

DanielFerrari
Noob
Noob
Posts: 1
Joined: 23 Sep 2016, 00:26
Noob?: No

Poseidon Server with 2015-11-04aRagexe.exe

#1 Post by DanielFerrari »

conf/poseidon.txt
# Ragnarok Server
# Here you'll define the IP Address and the Port where Poseidon
# will keep waiting for your ragnarok online client to connect.
ragnarokserver_ip=127.0.0.1
ragnarokserver_port=6900

# Query Server
# Here you'll define the IP Address and the Port where Poseidon
# will keep waiting for open kore to connect and send the GG/HS queries.
queryserver_ip=127.0.0.1
queryserver_port=24390

# Server Type
# Here you have to specify your current server type in order
# to the poseidon operate properly !
# The available server types for now are : Default, bRO_.* (check servertypes.txt)
# You should modify this if you're having problems with char list.
server_type=kRO_RagexeRE_2015_11_04a

# Char Block Size
# Here you can specify the desired CharBlockSize your client requires
# The available block sizes are : 106, 108, 112, 116, 128, 132 and 136
CharBlockSize=112
servertypes.txt inside openkore/src/poseidon
[Default]
decrypt_mid 0
charBlockSize 116
charListPacket 0x6b
maploginPacket 0000
[bRO_2012-09-19a]
decrypt_mid 1
decrypt_mid_keys 0x26977a6f 0x374e3b8e 0x4dba6c1e # K M A
charBlockSize 116
charListPacket 0x82d
maploginPacket 022D
[bRO_2012-09-26a]
decrypt_mid 1
decrypt_mid_keys 0x146f5964 0x76792070 0x1fa30c53 # K M A
charBlockSize 116
charListPacket 0x82d
maploginPacket 088E
[bRO_2012-10-03a]
decrypt_mid 1
decrypt_mid_keys 0x5c18014b 0x503e1282 0x6e6b29c1 # K M A
charBlockSize 116
charListPacket 0x82d
maploginPacket 0366
[tRO_2013-07-09a]
decrypt_mid 1
decrypt_mid_keys 0x6441767a 0x71020102 0x48c21f02 # K A M
charBlockSize 144
[kRO_RagexeRE_2015_11_04a]
decrypt_mid 1
decrypt_mid_keys 0x4C17382A 0x7ED174C9 0x29961E4F
charBlockSize 112
charListPacket 0x82d
maploginPacket 0360
network/receive/kro/RagexeRE_2015_11_04a.pm
#########################################################################
# OpenKore - Packet Receiveing
# This module contains functions for Receiveing packets to the server.
#
# This software is open source, licensed under the GNU General Public
# License, version 2.
# Basically, this means that you're allowed to modify and distribute
# this software. However, if you distribute modified versions, you MUST
# also distribute the source code.
# See http://www.gnu.org/licenses/gpl.html for the full license.
########################################################################
# Korea (kRO)
# The majority of private servers use eAthena, this is a clone of kRO

package Network::Receive::kRO::RagexeRE_2015_11_04a;

use strict;
use base qw(Network::Receive::kRO::RagexeRE_2013_08_07a);

1;

=pod
//2015-11-04aRagexe
//packet_ver: 55
//packet_keys: 0x4C17382A,0x7ED174C9,0x29961E4F // [Winnie]
0x0369,7,actionrequest,2:6
0x083C,10,useskilltoid,2:4:6
0x0363,5,walktoxy,2
0x0886,6,ticksend,2
0x0928,5,changedir,2:4
0x0964,6,takeitem,2
0x0437,6,dropitem,2:4
0x088B,8,movetokafra,2:4
0x0364,8,movefromkafra,2:4
0x0438,10,useskilltopos,2:4:6:8
0x0366,90,useskilltoposinfo,2:4:6:8:10
0x0887,6,getcharnamerequest,2
0x0368,6,solvecharname,2
0x0838,12,searchstoreinfolistitemclick,2:6:10
0x0835,2,searchstoreinfonextpage,0
0x0819,-1,searchstoreinfo,2:4:5:9:13:14:15
0x0815,-1,reqtradebuyingstore,2:4:8:12
0x0436,6,reqclickbuyingstore,2
0x0817,2,reqclosebuyingstore,0
0x023B,-1,reqopenbuyingstore,2:4:8:9:89
0x0811,18,bookingregreq,2:4:6
//0x0939,8 CZ_JOIN_BATTLE_FIELD
0x093A,-1,itemlistwindowselected,2:4:8:12
0x0360,19,wanttoconnection,2:6:10:14:18
0x08A5,26,partyinvite2,2
//0x08A3,4 CZ_GANGSI_RANK
0x07EC,26,friendslistadd,2
0x088D,5,hommenu,2:4
0x0940,36,storagepassword,2:4:20
=cut
network/send/kro/RagexeRE_2015_11_04a.pm
#########################################################################
# OpenKore - Packet sending
# This module contains functions for sending packets to the server.
#
# This software is open source, licensed under the GNU General Public
# License, version 2.
# Basically, this means that you're allowed to modify and distribute
# this software. However, if you distribute modified versions, you MUST
# also distribute the source code.
# See http://www.gnu.org/licenses/gpl.html for the full license.
########################################################################
package Network::Send::kRO::RagexeRE_2015_11_04a;

use strict;
use base qw(Network::Send::kRO::RagexeRE_2013_08_07a);
use Log qw(debug);

sub new {
my ($class) = @_;
my $self = $class->SUPER::new(@_);

my %packets = (
'08A2' => undef,
'0369' => ['actor_action', 'a4 C', [qw(targetID type)]],#7
'095C' => undef,
'083C' => ['skill_use', 'v2 a4', [qw(lv skillID targetID)]],#10
'0360' => undef,
'0363' => ['character_move','a3', [qw(coordString)]],#5
# '088B' => undef,
'0886' => ['sync', 'V', [qw(time)]],#6
'0925' => undef,
'0928' => ['actor_look_at', 'v C', [qw(head body)]],#5
'095E' => undef,
'0964' => ['item_take', 'a4', [qw(ID)]],#6
'089C' => undef,
'0437' => ['item_drop', 'v2', [qw(index amount)]],#6
'08A3' => undef,
'088B' => ['storage_item_add', 'v V', [qw(index amount)]],#8
'087E' => undef,
'0364' => ['storage_item_remove', 'v V', [qw(index amount)]],#8
'0811' => undef,
'0438' => ['skill_use_location', 'v4', [qw(lv skillID x y)]],#10
'08A6' => undef,
'0887' => ['actor_info_request', 'a4', [qw(ID)]],#6
# '0369' => undef,
'0368' => ['actor_name_request', 'a4', [qw(ID)]],#6
'08A9' => undef,
'0360' => ['map_login', 'a4 a4 a4 V C', [qw(accountID charID sessionID tick sex)]],#19
'0950' => undef,
'08A5' => ['party_join_request_by_name', 'Z24', [qw(partyName)]],#26
# '0437' => undef,
'07EC' => ['friend_request', 'a*', [qw(username)]],#26
'0926' => undef,
'088D' => ['homunculus_command', 'v C', [qw(commandType, commandID)]],#5
);
$self->{packet_list}{$_} = $packets{$_} for keys %packets;

my %handlers = qw(
actor_action 0369
actor_info_request 0887
actor_look_at 0928
actor_name_request 0368
character_move 0363
friend_request 07EC
homunculus_command 088D
item_drop 0437
item_take 0964
map_login 0360
party_join_request_by_name 08A5
skill_use 083C
skill_use_location 0438
storage_item_add 088B
storage_item_remove 0364
sync 0886
);
$self->{packet_lut}{$_} = $handlers{$_} for keys %handlers;

# $self->cryptKeys(1276590122, 2127656137, 697704015);

$self;
}

1;
=pod
//2015-11-04aRagexe
//packet_ver: 55
//packet_keys: 0x4C17382A,0x7ED174C9,0x29961E4F // [Winnie]
+0x0369,7,actionrequest,2:6
+0x083C,10,useskilltoid,2:4:6
+0x0363,5,walktoxy,2
+0x0886,6,ticksend,2
+0x0928,5,changedir,2:4
+0x0964,6,takeitem,2
+0x0437,6,dropitem,2:4
+0x088B,8,movetokafra,2:4
+0x0364,8,movefromkafra,2:4
+0x0438,10,useskilltopos,2:4:6:8
0x0366,90,useskilltoposinfo,2:4:6:8:10
+0x0887,6,getcharnamerequest,2
+0x0368,6,solvecharname,2
0x0838,12,searchstoreinfolistitemclick,2:6:10
0x0835,2,searchstoreinfonextpage,0
0x0819,-1,searchstoreinfo,2:4:5:9:13:14:15
0x0815,-1,reqtradebuyingstore,2:4:8:12
0x0436,6,reqclickbuyingstore,2
0x0817,2,reqclosebuyingstore,0
0x023B,-1,reqopenbuyingstore,2:4:8:9:89
0x0811,18,bookingregreq,2:4:6
// 0x0939,8 CZ_JOIN_BATTLE_FIELD
0x093A,-1,itemlistwindowselected,2:4:8:12
+0x0360,19,wanttoconnection,2:6:10:14:18
+0x08A5,26,partyinvite2,2
// 0x08A3,4 CZ_GANGSI_RANK
+0x07EC,26,friendslistadd,2
+0x088D,5,hommenu,2:4
0x0940,36,storagepassword,2:4:20
=cut
My diffed exe: 2015-11-04aRagexe.exe from https://rathena.org/board/topic/104205- ... t-support/
Diffed with this: http://herc.ws/board/topic/2905-nemo-client-patcher/

My problems so far:
1 - http://openkore.com/index.php/Packet_Length_Extractor Tried all methods here, even if my exe is the original one, it still cant extract the recvpackets for me. Where I can find the recvpackets for this exe date?

2-Where I can find the value I marked with red color (CharListPacket)? Seems like Im missing it for my characters show in my localhost poseidon server. Also seems like I need to put something on this line here in src/poseidon/RagnarokServer.pm:
# Preparing Begin of Character List Packet
my $data;
if ($self->{type}->{$config{server_type}}->{charListPacket} eq '0x82d') {
$data = $accountID . pack("v2 C5 a20", 0x82d, $len + 29,$totalchars,0,0,0,$totalchars,-0); # 29 = v2 C5 a20 size for bRO
} else {
$data = $accountID . pack("v v C3", 0x6b, $len + 7, $totalslots, -1, -1);
}
But Im not sure what this v2 c5 a20 means, and what i can change for it to work with 2015-11-04aRagexe.exe.

Appreciate any help, ty.
pxoto
Noob
Noob
Posts: 9
Joined: 04 Apr 2011, 18:56
Noob?: Yes

Re: Poseidon Server with 2015-11-04aRagexe.exe

#2 Post by pxoto »

You seem to be trying to bypass ragnaguard, where did you get the decrypt_mid_keys ?
This is a similar post about the bypass :
http://forums.openkore.com/viewtopic.php?f=9&t=170040
If anyone wants to join in, any help is appreciated, I am also trying to solve the RagnaGuard problem.