Sorry my bad English.I'm having trouble doing poseidonserver respond to gg sends the query more does not respond after that the openkore disconnects could give me a way of how to get all the help and welcome, I thank you.

QueryServer

Quote:

############################################################ Poseidon server - OpenKore communication channel## This program is free software; you can redistribute it and/or# modify it under the terms of the GNU General Public License# as published by the Free Software Foundation; either version 2# of the License, or (at your option) any later version.## Copyright (c) 2005-2006 OpenKore Development Team###########################################################package Poseidon::QueryServer;

############################################################ Poseidon server - Ragnarok Online server emulator## This program is free software; you can redistribute it and/or# modify it under the terms of the GNU General Public License# as published by the Free Software Foundation; either version 2# of the License, or (at your option) any later version.## Copyright (c) 2005-2006 OpenKore Development Team# This class emulates a Ragnarok Online server.# The RO client connects to this server. This server# periodically sends a GameGuard query to the RO client,# and saves the RO client's response.###########################################################

# TODO:# 1) make use of unpack strings to pack our packets depending on serverType# 2) make plugin like connection algorithms for each serverType or 1 main algo on which serverTypes have hooks

### String $RagnarokServer->getState()## Get the state of this RagnarokServer object.# The result can be one of:# 'ready' - The RO client is ready to handle another GameGuard query.# 'requesting' - The query has been sent to the RO client, but it hasn't responded yet.# 'requested' - The RO client has responded to the last GameGuard query.# 'not connected' - The RO client hasn't connected to this server yet.sub getState { my ($self) = @_; my $clients = $self->clients();

# Note: # The switch packets are pRO specific and assumes the use of secureLogin 1. It may or may not work with other # countries' clients (except probably oRO). The best way to support other clients would be: use a barebones # eAthena or Freya as the emulator, or figure out the correct packet switches and include them in the # if..elsif..else blocks.

if($switch eq '02B0') { # kRO uses 02B2 as masterLogin packet when we have <langtype>0</langtype> in the clientinfo.xml # if other servers do use this packet too that will be a problem. $clientdata{$index}{kRO} = 1; }

# These following packets should reset the item inventory. # If you drop something from your inventory and the server didn't respond, # you will not be able to drop the item for the second test # This, however, does not cover item_use. YOu would have to relog # to test another item_use packet. #$data .= pack("v3", 0xAF, 3, 0); #$data .= pack("v3", 0xAF, 4, 0);

# There are no other send packet that contains NPC ids as the last four byte # other than the talk and sendGetPlayerInfo packets. # Since most possible talk packets are handled above, we can assume that this is # a sendGetPlayerInfo packet. # Note that we have an NPC that is not named initially to allow a # sendGetPlayerInfo packet to be captured.) # '0095' => ['actor_info', 'a4 Z24', [qw(ID name)]], my $ID = substr($msg, length($msg) - 4, 4); if ($ID eq $npcID0) { $data .= pack("v1 a4 a24", 0x95, $npcID0, "Server Details Guide"); } elsif ($ID eq $npcID1) { $data .= pack("v1 a4 a24", 0x95, $npcID1, "Kafra"); }

Who is online

Users browsing this forum: No registered users and 1 guest

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum