unknown packet 09A0

Wrote new code? Fixed a bug? Want to discuss technical stuff? Feel free to post it here.

Moderator: Moderators

nazri05
Noob
Noob
Posts: 19
Joined: 16 Jan 2013, 08:50
Noob?: Yes

unknown packet 09A0

#1 Post by nazri05 »

i dont know what the probles is this....arghh!!!!!
Kaspy
Halfway to Eternity
Halfway to Eternity
Posts: 398
Joined: 08 Jun 2012, 15:42
Noob?: No
Location: Brazil

Re: unknown packet 09A0

#2 Post by Kaspy »

We still do not know what it actually does.
If you find anything, please notify.

Next time you post something, explain better your situation.
Image
nazri05
Noob
Noob
Posts: 19
Joined: 16 Jan 2013, 08:50
Noob?: Yes

Re: unknown packet 09A0

#3 Post by nazri05 »

Connecting to Account Server...
Connecting (128.241.92.162:6900)... connected
-----------Account Info------------
Account ID:
Sex: Boy
Session ID:
0 00 00 00 00
-----------------------------------
--------- Servers ----------
# Name Users IP Port
0 Chaos 2775 128.241.92.98 4500
1 Classic.Loki 1381 128.241.92.211 4500
-------------------------------
Closing connection to Account Server
Disconnecting (128.241.92.162:6900)...disconnected
Server 0 selected
Connecting to Character Server...
Connecting (128.241.92.98:4500)... connected
Unknown packet - 082D



this is what i trying to explain....so do you have any idea???? or got some fix for me?
Kaspy
Halfway to Eternity
Halfway to Eternity
Posts: 398
Joined: 08 Jun 2012, 15:42
Noob?: No
Location: Brazil

Re: unknown packet 09A0

#4 Post by Kaspy »

nazri05 wrote:Unknown packet - 082D
This would not be the packet 082D?
So why the title of the topic you refer to 09A0?

Do you want to report both?
nazri05 wrote:this is what i trying to explain....so do you have any idea???? or got some fix for me?
No

If I'm not mistaken, this is specific problem the iRO and I am not updated about it.
Image
nazri05
Noob
Noob
Posts: 19
Joined: 16 Jan 2013, 08:50
Noob?: Yes

Re: unknown packet 09A0

#5 Post by nazri05 »

im try fix before this 09A0 after i fix 082D..thats why im very blank about this...i dont know who can fix this.
heero
Super Moderators
Super Moderators
Posts: 158
Joined: 04 Apr 2008, 11:12

Re: unknown packet 09A0

#6 Post by heero »

I have seen reports by users in pRO about this packet. I checked the code in openkore and I think package Network::Receive::iRO should be changed a bit.

Code: Select all

sub unknown_09A0 {
	for (1..10) { # the client sends ten packets
		$messageSender->sendToServer($messageSender->reconstruct({switch => 'unknown_09A1'}));
	}
}
to this

Code: Select all

sub unknown_09A0 {
		$messageSender->sendToServer($messageSender->reconstruct({switch => 'unknown_09A1'}));
}
I think the server does'nt care much how many times we send packet 09A1. Tested it in pRO server and it seems to work fine. Was able to connect and have no problems. Can anyone verify if this works for iRO?
nazri05
Noob
Noob
Posts: 19
Joined: 16 Jan 2013, 08:50
Noob?: Yes

Re: unknown packet 09A0

#7 Post by nazri05 »

i think no want know about this fixes....and i dont know what code for 082D
heero
Super Moderators
Super Moderators
Posts: 158
Joined: 04 Apr 2008, 11:12

Re: unknown packet 09A0

#8 Post by heero »

I did a recheck of packet 09A0 and it seems like its a counter for sending packet 09A1 to the server. I can't be certain but can anyone who has access to iRO post packet 09A0 hex dump here.

here is my updated code for iRO.pm

Code: Select all

#########################################################################
#  OpenKore - Network subsystem
#  Copyright (c) 2006 OpenKore Team
#
#  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.
#########################################################################
# iRO (International)
# Servertype overview: http://wiki.openkore.com/index.php/ServerType
package Network::Receive::iRO;

use strict;
use base qw(Network::Receive::ServerType0);

use Globals qw($messageSender %timeout);
use Log qw(debug);
use Misc qw(monsterName);
use Utils qw(timeOut);

use Time::HiRes qw(time);

sub new {
	my ($class) = @_;
	my $self = $class->SUPER::new(@_);
	my %packets = (
		'006D' => ['character_creation_successful', 'a4 V9 v V2 v14 Z24 C6 v2', [qw(charID exp zeny exp_job lv_job opt1 opt2 option stance manner points_free hp hp_max sp sp_max walk_speed type hair_style weapon lv points_skill lowhead shield tophead midhead hair_color clothes_color name str agi vit int dex luk slot renameflag)]],
		'0097' => ['private_message', 'v Z24 V Z*', [qw(len privMsgUser flag privMsg)]], # -1
		'082D' => ['received_characters_info', 'x2 C5 x20', [qw(normal_slot premium_slot billing_slot producible_slot valid_slot)]],
		'09A0' => ['unknown_09A0', 'V', [qw(count)]],
		'099D' => ['received_characters', 'x2 a*', [qw(charInfo)]],
	);

	foreach my $switch (keys %packets) {
		$self->{packet_list}{$switch} = $packets{$switch};
	}

	my %handlers = qw(
		received_characters 099D
		actor_exists 0856
		actor_connected 0857
		actor_moved 0858
		account_id 0283
	);
	$self->{packet_lut}{$_} = $handlers{$_} for keys %handlers;
	
	return $self;
}

sub received_characters_info {
	my ($self, $args) = @_;

	Scalar::Util::weaken(my $weak = $self);
	my $timeout = {timeout => 6, time => time};

	$self->{charSelectTimeoutHook} = Plugins::addHook('Network::serverConnect/special' => sub {
		if ($weak && timeOut($timeout)) {
			$weak->received_characters({charInfo => '', RAW_MSG_SIZE => 4});
		}
	});

	$self->{charSelectHook} = Plugins::addHook(charSelectScreen => sub {
		if ($weak) {
			Plugins::delHook(delete $weak->{charSelectTimeoutHook}) if $weak->{charSelectTimeoutHook};
		}
	});

	$timeout{charlogin}{time} = time;

	$self->received_characters($args);
}

sub unknown_09A0 {
	my ($self, $args) = @_;
	for (my $count = $args->{count}; $count >= 1; $count--) {
		$messageSender->sendToServer($messageSender->reconstruct({switch => 'unknown_09A1'}));
	} 
}

*parse_quest_update_mission_hunt = *Network::Receive::ServerType0::parse_quest_update_mission_hunt_v2;
*reconstruct_quest_update_mission_hunt = *Network::Receive::ServerType0::reconstruct_quest_update_mission_hunt_v2;

1;
can anyone test this and see if it works for iRO?
eski018
Noob
Noob
Posts: 2
Joined: 29 Jan 2013, 10:56
Noob?: Yes

Re: unknown packet 09A0

#9 Post by eski018 »

Dude, the iRo.pm file, what can i use to open it? is it pearl?
lututui99
Developers
Developers
Posts: 30
Joined: 18 Sep 2012, 22:27
Noob?: No

Re: unknown packet 09A0

#10 Post by lututui99 »

eski018 wrote:Dude, the iRo.pm file, what can i use to open it? is it pearl?
You can open it with notepad
eski018 wrote:pearl?
Perl*