Documentation

Application

Table of Contents

Interfaces

SitActionData
Data associated with different values of the `sitAction` field.
InfoTypeData
Data associated with different values of the `infoType` field.
ReplyTypeData
Data associated with different values of the `replyType` field.
SitActionData
Data associated with different values of the `sitAction` field.
ActionTypeData
Data associated with different values of the `actionType` field.
FileTypeData
Data associated with different values of the `fileType` field.
ReplyCodeData
Data associated with different values of the `replyCode` field.
MessageTypeData
Data associated with different values of the `messageType` field.
ChangeTypeData
Data associated with different values of the `changeType` field.
ReplyCodeData
Data associated with different values of the `replyCode` field.
EntryTypeData
Data associated with different values of the `entryType` field.
MapDamageTypeData
Data associated with different values of the `mapDamageType` field.
EffectData
Data associated with different values of the `effect` field.
ReplyCodeData
Data associated with different values of the `replyCode` field.
ReplyCodeData
Data associated with different values of the `replyCode` field.
BanTypeData
Data associated with different values of the `banType` field.
ItemTypeData
Data associated with different values of the `itemType` field.
ReplyCodeData
Data associated with different values of the `replyCode` field.
ReplyCodeData
Data associated with different values of the `replyCode` field.
ReplyCodeData
Data associated with different values of the `replyCode` field.
PageData
Data associated with different values of the `page` field.
ReplyCodeData
Data associated with different values of the `replyCode` field.
WarpTypeData
Data associated with different values of the `warpType` field.
WarpTypeData
Data associated with different values of the `warpType` field.
WelcomeCodeData
Data associated with different values of the `welcomeCode` field.

Classes

EoNumericLimits
Defines the numeric limits for different types of EO data sizes.
EoReader
A class for reading EO data from a sequence of bytes.
EoWriter
A class for writing EO data to a sequence of bytes.
NumberEncodingUtils
A class for encoding and decoding numeric values according to the EO protocol.
StringEncodingUtils
Provides utility functions for encoding and decoding strings.
PacketSequencer
SequenceStart
Abstract base class for defining a sequence start value in network communication packets.
SimpleSequenceStart
A simple implementation of SequenceStart that holds a fixed integer value.
AccountReplySequenceStart
Represents a sequence start value specifically for account reply packets, with potential additional functionality.
InitSequenceStart
Defines a sequence start value for initialization packets, incorporating two sequence numbers.
PingSequenceStart
Represents a sequence start value used in ping operations, incorporating two sequence numbers.
AdminLevel
Coords
Direction
Emote
Gender
Emf
MapGraphicLayer
MapGraphicRow
MapGraphicRowTile
MapItem
MapLegacyDoorKey
MapMusicControl
MapNpc
MapSign
MapTileSpec
MapTileSpecRow
MapTileSpecRowTile
MapTimedEffect
MapType
MapWarp
MapWarpRow
MapWarpRowTile
CharItem
AccountAgreeClientPacket
Change password
AccountCreateClientPacket
Confirm creating an account
AccountRequestClientPacket
Request creating an account
AdminInteractReportClientPacket
Report character
AdminInteractTellClientPacket
Talk to admin
AttackUseClientPacket
Attacking
BankAddClientPacket
Depositing gold
BankOpenClientPacket
Talked to a banker NPC
BankTakeClientPacket
Withdrawing gold
BarberBuyClientPacket
Purchasing a hair-style
BarberOpenClientPacket
Talking to a barber NPC
BoardCreateClientPacket
Posting a new message to a town board
BoardOpenClientPacket
Opening a town board
BoardRemoveClientPacket
Removing a post from a town board
BoardTakeClientPacket
Reading a post on a town board
BookRequestClientPacket
Request for a player's book
ByteCoords
ChairRequestClientPacket
Sitting on a chair
SitActionDataSit
Data associated with sitAction value SitAction::SIT
CharacterCreateClientPacket
Confirm creating a character
CharacterRemoveClientPacket
Confirm deleting character from an account
CharacterRequestClientPacket
Request to create a character
CharacterTakeClientPacket
Request to delete a character from an account
ChestAddClientPacket
Placing an item in to a chest
ChestOpenClientPacket
Opening a chest
ChestTakeClientPacket
Taking an item from a chest
CitizenAcceptClientPacket
Confirm sleeping at an inn
CitizenOpenClientPacket
Talking to a citizenship NPC
CitizenRemoveClientPacket
Giving up citizenship of a town
CitizenReplyClientPacket
Subscribing to a town
CitizenRequestClientPacket
Request sleeping at an inn
ConnectionAcceptClientPacket
Confirm initialization data
ConnectionPingClientPacket
Ping reply
DialogReply
DoorOpenClientPacket
Opening a door
EmoteReportClientPacket
Doing an emote
FacePlayerClientPacket
Facing a direction
FileType
GlobalCloseClientPacket
Closed global tab
GlobalOpenClientPacket
Opened global tab
GlobalPlayerClientPacket
Disable whispers
GlobalRemoveClientPacket
Enable whispers
GuildAcceptClientPacket
Accept pending guild creation invite
GuildAgreeClientPacket
Update the guild description or rank list
InfoTypeDataDescription
Data associated with infoType value GuildInfoType::DESCRIPTION
InfoTypeDataRanks
Data associated with infoType value GuildInfoType::RANKS
GuildBuyClientPacket
Deposit gold in to the guild bank
GuildCreateClientPacket
Final confirm creating a guild
GuildInfoType
GuildJunkClientPacket
Disband guild
GuildKickClientPacket
Kick member from guild
GuildOpenClientPacket
Talking to a guild master NPC
GuildPlayerClientPacket
Request to join a guild
GuildRankClientPacket
Update a member's rank
GuildRemoveClientPacket
Leave guild
GuildReportClientPacket
Requested general information of a guild
GuildRequestClientPacket
Requested to create a guild
GuildTakeClientPacket
Request guild description, rank list, or bank balance
GuildTellClientPacket
Requested member list of a guild
GuildUseClientPacket
Accepted a join request
InitInitClientPacket
Connection initialization request.
ItemDropClientPacket
Dropping items on the ground
ItemGetClientPacket
Taking items from the ground
ItemJunkClientPacket
Junking items
ItemUseClientPacket
Using an item
JukeboxMsgClientPacket
Requesting a song on a jukebox
JukeboxOpenClientPacket
Opening the jukebox listing
JukeboxUseClientPacket
Playing a note with the bard skill
LockerAddClientPacket
Adding an item to a bank locker
LockerBuyClientPacket
Buying a locker space upgrade from a banker NPC
LockerOpenClientPacket
Opening a bank locker
LockerTakeClientPacket
Taking an item from a bank locker
LoginRequestClientPacket
Login request
MarriageOpenClientPacket
Talking to a law NPC
MarriageRequestClientPacket
Requesting marriage approval
MarriageRequestType
MessagePingClientPacket
#ping command request
NpcRangeRequestClientPacket
Requesting info about nearby NPCs
PaperdollAddClientPacket
Equipping an item
PaperdollRemoveClientPacket
Unequipping an item
PaperdollRequestClientPacket
Request for a player's paperdoll
PartyAcceptClientPacket
Accept party invite / join request
PartyRemoveClientPacket
Remove player from a party
PartyRequestClientPacket
Send party invite / join request
PartyTakeClientPacket
Request updated party info
PlayerRangeRequestClientPacket
Requesting info about nearby players
PlayersAcceptClientPacket
#find command request
PlayersListClientPacket
Requesting a list of online friends
PlayersRequestClientPacket
Requesting a list of online players
PriestAcceptClientPacket
Accepting a marriage request
PriestOpenClientPacket
Talking to a priest NPC
PriestRequestClientPacket
Requesting marriage at a priest
PriestUseClientPacket
Saying "I do" at a wedding
QuestAcceptClientPacket
Response to a quest NPC dialog
ReplyTypeDataLink
Data associated with replyType value DialogReply::LINK
QuestListClientPacket
Quest history / progress request
QuestUseClientPacket
Talking to a quest NPC
RangeRequestClientPacket
Requesting info about nearby players and NPCs
RefreshRequestClientPacket
Requesting new info about nearby objects
ShopBuyClientPacket
Purchasing an item from a shop
ShopCreateClientPacket
Crafting an item from a shop
ShopOpenClientPacket
Talking to a shop NPC
ShopSellClientPacket
Selling an item to a shop
SitAction
SitRequestClientPacket
Sit/stand request
SitActionDataSit
Data associated with sitAction value SitAction::SIT
SpellRequestClientPacket
Begin spell chanting
SpellTargetGroupClientPacket
Group spell cast
SpellTargetOtherClientPacket
Targeted spell cast
SpellTargetSelfClientPacket
Self-targeted spell cast
SpellTargetType
SpellUseClientPacket
Raise arm to cast a spell (vestigial)
StatId
StatSkillAddClientPacket
Spending a stat point on a stat or skill
ActionTypeDataStat
Data associated with actionType value TrainType::STAT
ActionTypeDataSkill
Data associated with actionType value TrainType::SKILL
StatSkillJunkClientPacket
Resetting stats at a skill master
StatSkillOpenClientPacket
Talking to a skill master NPC
StatSkillRemoveClientPacket
Forgetting a skill at a skill master NPC
StatSkillTakeClientPacket
Learning a skill from a skill master NPC
TalkAdminClientPacket
Admin chat message
TalkAnnounceClientPacket
Admin announcement
TalkMsgClientPacket
Global chat message
TalkOpenClientPacket
Party chat message
TalkPlayerClientPacket
Public chat message - alias of TALK_REPORT (vestigial)
TalkReportClientPacket
Public chat message
TalkRequestClientPacket
Guild chat message
TalkTellClientPacket
Private chat message
TalkUseClientPacket
Public chat message - alias of TALK_REPORT (vestigial)
TradeAcceptClientPacket
Accepting a trade request
TradeAddClientPacket
Add an item to the trade screen
TradeAgreeClientPacket
Mark trade as agreed
TradeCloseClientPacket
Cancel the trade
TradeRemoveClientPacket
Remove an item from the trade screen
TradeRequestClientPacket
Requesting a trade with another player
TrainType
WalkAction
WalkAdminClientPacket
Walking with #nowall
WalkPlayerClientPacket
Walking
WalkSpecClientPacket
Walking through a player
WarpAcceptClientPacket
Accept a warp request from the server
WarpTakeClientPacket
Request to download a copy of the map
WelcomeAgreeClientPacket
Requesting a file
FileTypeDataEmf
Data associated with fileType value FileType::EMF
FileTypeDataEif
Data associated with fileType value FileType::EIF
FileTypeDataEnf
Data associated with fileType value FileType::ENF
FileTypeDataEsf
Data associated with fileType value FileType::ESF
FileTypeDataEcf
Data associated with fileType value FileType::ECF
WelcomeMsgClientPacket
Entering game
WelcomeRequestClientPacket
Selected a character
Item
Packet
Represents a packet that can be sent or received over the network.
PacketAction
PacketFamily
PartyRequestType
QuestPage
AccountReply
AccountReplyServerPacket
Reply to client Account-family packets
ReplyCodeDataExists
Data associated with replyCode value AccountReply::EXISTS
ReplyCodeDataNotApproved
Data associated with replyCode value AccountReply::NOTAPPROVED
ReplyCodeDataCreated
Data associated with replyCode value AccountReply::CREATED
ReplyCodeDataChangeFailed
Data associated with replyCode value AccountReply::CHANGEFAILED
ReplyCodeDataChanged
Data associated with replyCode value AccountReply::CHANGED
ReplyCodeDataRequestDenied
Data associated with replyCode value AccountReply::REQUESTDENIED
ReplyCodeDataDefault
Default data associated with replyCode
AdminInteractAgreeServerPacket
Nearby player appearing (admin un-hide)
AdminInteractListServerPacket
Admin character inventory popup
AdminInteractRemoveServerPacket
Nearby player disappearing (admin hide)
AdminInteractReplyServerPacket
Incoming admin message
MessageTypeDataMessage
Data associated with messageType value AdminMessageType::MESSAGE
MessageTypeDataReport
Data associated with messageType value AdminMessageType::REPORT
AdminInteractTellServerPacket
Admin character info lookup
AdminMessageType
ArenaAcceptServerPacket
Arena win message
ArenaDropServerPacket
"Arena is blocked" message
ArenaSpecServerPacket
Arena kill message
ArenaUseServerPacket
Arena start message
AttackErrorServerPacket
Show flood protection message (vestigial)
AttackPlayerServerPacket
Nearby player attacking
AvatarAdminServerPacket
Nearby player hit by a damage spell from a player
AvatarAgreeServerPacket
Nearby player changed appearance
AvatarChange
ChangeTypeDataEquipment
Data associated with changeType value AvatarChangeType::EQUIPMENT
ChangeTypeDataHair
Data associated with changeType value AvatarChangeType::HAIR
ChangeTypeDataHairColor
Data associated with changeType value AvatarChangeType::HAIRCOLOR
AvatarChangeType
AvatarRemoveServerPacket
Nearby player has disappeared from view
AvatarReplyServerPacket
Nearby player hit by another player
BankOpenServerPacket
Open banker NPC interface
BankReplyServerPacket
Update gold counts after deposit/withdraw
BarberAgreeServerPacket
Purchasing a new hair style
BarberOpenServerPacket
Response from talking to a barber NPC
BigCoords
BoardOpenServerPacket
Reply to opening a town board
BoardPlayerServerPacket
Reply to reading a post on a town board
BoardPostListing
BookReplyServerPacket
Reply to requesting a book
CastAcceptServerPacket
Nearby NPC killed by player spell and you leveled up
CastReplyServerPacket
Nearby NPC hit by a spell from a player
CastSpecServerPacket
Nearby NPC killed by player spell
ChairCloseServerPacket
Your character standing up from a chair
ChairPlayerServerPacket
Nearby player sitting on a chair
ChairRemoveServerPacket
Nearby player standing up from a chair
ChairReplyServerPacket
Your character sitting on a chair
CharacterBaseStats
CharacterBaseStatsWelcome
CharacterDetails
CharacterElementalStats
CharacterIcon
CharacterMapInfo
CharacterPlayerServerPacket
Reply to client request to delete a character from the account (Character_Take)
CharacterReply
CharacterReplyServerPacket
Reply to client Character-family packets
ReplyCodeDataExists
Data associated with replyCode value CharacterReply::EXISTS
ReplyCodeDataFull
Data associated with replyCode value CharacterReply::FULL
ReplyCodeDataFull3
Data associated with replyCode value CharacterReply::FULL3
ReplyCodeDataNotApproved
Data associated with replyCode value CharacterReply::NOTAPPROVED
ReplyCodeDataOk
Data associated with replyCode value CharacterReply::OK
ReplyCodeDataDeleted
Data associated with replyCode value CharacterReply::DELETED
ReplyCodeDataDefault
Default data associated with replyCode
CharacterSecondaryStats
CharacterSecondaryStatsInfoLookup
CharacterSelectionListEntry
CharacterStatsEquipmentChange
CharacterStatsInfoLookup
CharacterStatsReset
CharacterStatsUpdate
CharacterStatsWelcome
ChestAgreeServerPacket
Chest contents updating
ChestCloseServerPacket
Reply to trying to interact with a locked or "broken" chest.
ChestGetServerPacket
Reply to removing an item from a chest
ChestOpenServerPacket
Reply to opening a chest
ChestReplyServerPacket
Reply to placing an item in to a chest
ChestSpecServerPacket
Reply to trying to add an item to a full chest
CitizenAcceptServerPacket
Sleeping at an inn
CitizenOpenServerPacket
Response from talking to a citizenship NPC
CitizenRemoveServerPacket
Response to giving up citizenship of a town
CitizenReplyServerPacket
Response to subscribing to a town
CitizenRequestServerPacket
Reply to requesting sleeping at an inn
ConnectionPlayerServerPacket
Ping request
DialogEntry
EntryTypeDataLink
Data associated with entryType value DialogEntryType::LINK
DialogEntryType
DialogQuestEntry
DoorCloseServerPacket
Reply to trying to open a locked door
DoorOpenServerPacket
Nearby door opening
EffectAdminServerPacket
Nearby character taking spike damage
EffectAgreeServerPacket
Effects playing on nearby tiles
EffectPlayerServerPacket
Effects playing on nearby players
EffectReportServerPacket
Map spike timer
EffectSpecServerPacket
Taking spike or tp drain damage
MapDamageTypeDataTpDrain
Data associated with mapDamageType value MapDamageType::TPDRAIN
MapDamageTypeDataSpikes
Data associated with mapDamageType value MapDamageType::SPIKES
EffectTargetOtherServerPacket
Map drain damage
EffectUseServerPacket
Map effect
EffectDataQuake
Data associated with effect value MapEffect::QUAKE
EmotePlayerServerPacket
Nearby player doing an emote
EquipmentChange
EquipmentCharacterSelect
EquipmentMapInfo
EquipmentPaperdoll
EquipmentWelcome
FacePlayerServerPacket
Nearby player facing a direction
GlobalBackfillMessage
GroupHealTargetPlayer
GuildAcceptServerPacket
Update guild rank
GuildAgreeServerPacket
Joined guild info
GuildBuyServerPacket
Deposit guild bank reply
GuildCreateServerPacket
Guild created
GuildKickServerPacket
Left the guild
GuildMember
GuildOpenServerPacket
Talk to guild master NPC reply
GuildRankServerPacket
Get guild rank list reply
GuildReply
GuildReplyServerPacket
Generic guild reply messages
ReplyCodeDataCreateAdd
Data associated with replyCode value GuildReply::CREATEADD
ReplyCodeDataCreateAddConfirm
Data associated with replyCode value GuildReply::CREATEADDCONFIRM
ReplyCodeDataJoinRequest
Data associated with replyCode value GuildReply::JOINREQUEST
GuildReportServerPacket
Get guild info reply
GuildRequestServerPacket
Guild create request
GuildSellServerPacket
Get guild bank reply
GuildStaff
GuildTakeServerPacket
Get guild description reply
GuildTellServerPacket
Get guild member list reply
InitBanType
InitInitServerPacket
Reply to connection initialization and requests for unencrypted data.
ReplyCodeDataOutOfDate
Data associated with replyCode value InitReply::OUTOFDATE
ReplyCodeDataOk
Data associated with replyCode value InitReply::OK
ReplyCodeDataBanned
Data associated with replyCode value InitReply::BANNED
BanTypeData0
Data associated with banType value 0
BanTypeDataTemporary
Data associated with banType value InitBanType::TEMPORARY
ReplyCodeDataWarpMap
Data associated with replyCode value InitReply::WARPMAP
ReplyCodeDataFileEmf
Data associated with replyCode value InitReply::FILEEMF
ReplyCodeDataFileEif
Data associated with replyCode value InitReply::FILEEIF
ReplyCodeDataFileEnf
Data associated with replyCode value InitReply::FILEENF
ReplyCodeDataFileEsf
Data associated with replyCode value InitReply::FILEESF
ReplyCodeDataFileEcf
Data associated with replyCode value InitReply::FILEECF
ReplyCodeDataMapMutation
Data associated with replyCode value InitReply::MAPMUTATION
ReplyCodeDataPlayersList
Data associated with replyCode value InitReply::PLAYERSLIST
ReplyCodeDataPlayersListFriends
Data associated with replyCode value InitReply::PLAYERSLISTFRIENDS
InitReply
InnUnsubscribeReply
ItemAcceptServerPacket
Nearby player leveled up from quest
ItemAddServerPacket
Item appeared on the ground
ItemAgreeServerPacket
Reply to using an item that you don't have
ItemDropServerPacket
Reply to dropping items on the ground
ItemGetServerPacket
Reply to taking items from the ground
ItemJunkServerPacket
Reply to junking items
ItemKickServerPacket
Lose item (from quest)
ItemMapInfo
ItemObtainServerPacket
Receive item (from quest)
ItemRemoveServerPacket
Item disappeared from the ground
ItemReplyServerPacket
Reply to using an item
ItemTypeDataHeal
Data associated with itemType value ItemType::HEAL
ItemTypeDataHairDye
Data associated with itemType value ItemType::HAIRDYE
ItemTypeDataEffectPotion
Data associated with itemType value ItemType::EFFECTPOTION
ItemTypeDataCureCurse
Data associated with itemType value ItemType::CURECURSE
ItemTypeDataExpReward
Data associated with itemType value ItemType::EXPREWARD
ItemSpecServerPacket
Reply to trying to take a protected item from the ground
JukeboxAgreeServerPacket
Reply to successfully requesting a song
JukeboxMsgServerPacket
Someone playing a note with the bard skill nearby
JukeboxOpenServerPacket
Reply to opening the jukebox listing
JukeboxPlayerServerPacket
Play background music
JukeboxReplyServerPacket
Reply to unsuccessfully requesting a song
JukeboxUseServerPacket
Play jukebox music
LevelUpStats
LockerBuyServerPacket
Response to buying a locker space upgrade from a banker NPC
LockerGetServerPacket
Response to taking an item from a bank locker
LockerOpenServerPacket
Opening a bank locker
LockerReplyServerPacket
Response to adding an item to a bank locker
LockerSpecServerPacket
Reply to trying to add an item to a full locker
LoginMessageCode
LoginReply
LoginReplyServerPacket
Login reply
ReplyCodeDataWrongUser
Data associated with replyCode value LoginReply::WRONGUSER
ReplyCodeDataWrongUserPassword
Data associated with replyCode value LoginReply::WRONGUSERPASSWORD
ReplyCodeDataOk
Data associated with replyCode value LoginReply::OK
ReplyCodeDataBanned
Data associated with replyCode value LoginReply::BANNED
ReplyCodeDataLoggedIn
Data associated with replyCode value LoginReply::LOGGEDIN
ReplyCodeDataBusy
Data associated with replyCode value LoginReply::BUSY
MapDamageType
MapDrainDamageOther
MapEffect
MapFile
MarriageOpenServerPacket
Response from talking to a law NPC
MarriageReply
MarriageReplyServerPacket
Reply to client Marriage-family packets
ReplyCodeDataSuccess
Data associated with replyCode value MarriageReply::SUCCESS
MessageAcceptServerPacket
Large message box
MessageCloseServerPacket
Server is rebooting
MessageOpenServerPacket
Status bar message
MessagePongServerPacket
#ping command reply
MusicPlayerServerPacket
Sound effect
NearbyInfo
NpcAcceptServerPacket
Nearby NPC killed by player and you leveled up
NpcAgreeServerPacket
Reply to request for information about nearby NPCs
NpcDialogServerPacket
NPC chat message
NpcJunkServerPacket
Clearing all boss children
NpcKilledData
NpcKillStealProtectionState
NpcMapInfo
NpcPlayerServerPacket
Main NPC update message
NpcReplyServerPacket
Nearby NPC hit by a player
NpcSpecServerPacket
Nearby NPC killed by player
NpcUpdateAttack
NpcUpdateChat
NpcUpdatePosition
OnlinePlayer
PaperdollAgreeServerPacket
Reply to equipping an item
PaperdollPingServerPacket
Failed to equip an item due to being the incorrect class
PaperdollRemoveServerPacket
Reply to unequipping an item
PaperdollReplyServerPacket
Reply to requesting a paperdoll
PartyAddServerPacket
New player joined the party
PartyAgreeServerPacket
Party member list update
PartyCloseServerPacket
Left / disbanded a party
PartyCreateServerPacket
Member list received when party is first joined
PartyExpShare
PartyListServerPacket
Party member list update
PartyMember
PartyRemoveServerPacket
Player left the party
PartyReplyCode
PartyReplyServerPacket
Failed party invite / join request
ReplyCodeDataAlreadyInAnotherParty
Data associated with replyCode value PartyReplyCode::ALREADYINANOTHERPARTY
ReplyCodeDataAlreadyInYourParty
Data associated with replyCode value PartyReplyCode::ALREADYINYOURPARTY
PartyRequestServerPacket
Received party invite / join request
PartyTargetGroupServerPacket
Updated experience and level-ups from party experience
PlayerEffect
PlayerKilledState
PlayersAgreeServerPacket
Player has appeared in nearby view
PlayersList
PlayersListFriends
PlayersListServerPacket
Equivalent to INIT_INIT with InitReply.PlayersList
PlayersNet242ServerPacket
#find command reply - different map
PlayersPingServerPacket
#find command reply - offline
PlayersPongServerPacket
#find command reply - same map
PlayersRemoveServerPacket
Nearby player has logged out
PlayersReplyServerPacket
Equivalent to INIT_INIT with InitReply.PlayersListFriends
PriestOpenServerPacket
Response from talking to a priest NPC
PriestReply
PriestReplyServerPacket
Reply to client Priest-family packets
PriestRequestServerPacket
Wedding request
PubFile
QuestDialogServerPacket
Quest selection dialog
QuestListServerPacket
Quest history / progress reply
PageDataProgress
Data associated with page value QuestPage::PROGRESS
PageDataHistory
Data associated with page value QuestPage::HISTORY
QuestProgressEntry
QuestReportServerPacket
NPC chat messages
QuestRequirementIcon
RangeReplyServerPacket
Reply to request for information about nearby players and NPCs
RecoverAgreeServerPacket
Nearby player gained HP
RecoverListServerPacket
Stats update
RecoverPlayerServerPacket
HP/TP update
RecoverReplyServerPacket
Karma/experience update
RecoverTargetGroupServerPacket
Updated stats when levelling up from party experience
RefreshReplyServerPacket
Reply to request for new info about nearby objects
ServerSettings
ShopBuyServerPacket
Response to purchasing an item from a shop
ShopCraftItem
ShopCreateServerPacket
Response to crafting an item from a shop
ShopOpenServerPacket
Response from talking to a shop NPC
ShopSellServerPacket
Response to selling an item to a shop
ShopSoldItem
ShopTradeItem
SitCloseServerPacket
Your character standing up
SitPlayerServerPacket
Nearby player sitting down
SitRemoveServerPacket
Nearby player standing up
SitReplyServerPacket
Your character sitting down
SitState
SkillLearn
SkillMasterReply
SpellErrorServerPacket
Show flood protection message (vestigial)
SpellPlayerServerPacket
Nearby player raising their arm to cast a spell (vestigial)
SpellRequestServerPacket
Nearby player chanting a spell
SpellTargetGroupServerPacket
Nearby player(s) hit by a group heal spell from a player
SpellTargetOtherServerPacket
Nearby player hit by a heal spell from a player
SpellTargetSelfServerPacket
Nearby player self-casted a spell
StatSkillAcceptServerPacket
Response to spending skill points
StatSkillJunkServerPacket
Response to resetting stats and skills at a skill master
StatSkillOpenServerPacket
Response from talking to a skill master NPC
StatSkillPlayerServerPacket
Response to spending stat points
StatSkillRemoveServerPacket
Response to forgetting a skill at a skill master
StatSkillReplyServerPacket
Response from unsuccessful action at a skill master
ReplyCodeDataWrongClass
Data associated with replyCode value SkillMasterReply::WRONGCLASS
StatSkillTakeServerPacket
Response from learning a skill from a skill master
TalkAdminServerPacket
Admin chat message
TalkAnnounceServerPacket
Admin announcement
TalkListServerPacket
Global chat backfill.
TalkMsgServerPacket
Global chat message
TalkOpenServerPacket
Party chat message
TalkPlayerServerPacket
Public chat message
TalkReply
TalkReplyServerPacket
Reply to trying to send a private message
TalkRequestServerPacket
Guild chat message
TalkServerServerPacket
Server message
TalkSpecServerPacket
Temporary mute applied
TalkTellServerPacket
Private chat message
TileEffect
TradeAdminServerPacket
Trade updated (items changed while trade was accepted)
TradeAgreeServerPacket
Partner agree state updated
TradeCloseServerPacket
Partner closed trade window
TradeItemData
TradeOpenServerPacket
Trade window opens
TradeReplyServerPacket
Trade updated (items changed)
TradeRequestServerPacket
Trade request from another player
TradeSpecServerPacket
Own agree state updated
TradeUseServerPacket
Trade completed
WalkCloseServerPacket
Your character has been frozen
WalkOpenServerPacket
Your character has been unfrozen
WalkPlayerServerPacket
Nearby player has walked
WalkReplyServerPacket
Players, NPCs, and Items appearing in nearby view
WarpAgreeServerPacket
Reply after accepting a warp
WarpTypeDataMapSwitch
Data associated with warpType value WarpType::MAPSWITCH
WarpCreateServerPacket
Equivalent to INIT_INIT with InitReply.MapMutation
WarpEffect
WarpPlayerServerPacket
Equivalent to INIT_INIT with InitReply.WarpMap
WarpRequestServerPacket
Warp request from server
WarpTypeDataMapSwitch
Data associated with warpType value WarpType::MAPSWITCH
WarpType
WelcomeCode
WelcomeNet242ServerPacket
Equivalent to INIT_INIT with InitReply.FileEnf
WelcomeNet243ServerPacket
Equivalent to INIT_INIT with InitReply.FileEsf
WelcomeNet244ServerPacket
Equivalent to INIT_INIT with InitReply.FileEcf
WelcomePingServerPacket
Equivalent to INIT_INIT with InitReply.FileMap
WelcomePongServerPacket
Equivalent to INIT_INIT with InitReply.FileEif
WelcomeReplyServerPacket
Reply to selecting a character / entering game
WelcomeCodeDataSelectCharacter
Data associated with welcomeCode value WelcomeCode::SELECTCHARACTER
WelcomeCodeDataEnterGame
Data associated with welcomeCode value WelcomeCode::ENTERGAME
Spell
ThreeItem
Version
Weight
Ecf
EcfRecord
Eif
EifRecord
Element
Enf
EnfRecord
Esf
EsfRecord
ItemSize
ItemSpecial
ItemSubtype
ItemType
NpcType
DropFile
DropNpcRecord
DropRecord
InnFile
InnQuestionRecord
InnRecord
ShopCraftIngredientRecord
ShopCraftRecord
ShopFile
ShopRecord
ShopTradeRecord
SkillMasterFile
SkillMasterRecord
SkillMasterSkillRecord
TalkFile
TalkMessageRecord
TalkRecord
SkillNature
SkillTargetRestrict
SkillTargetType
SkillType
SerializationError
Represents an error that occurs during serialization or deserialization.

Functions

interleave()  : void
Interleaves a sequence of bytes. When encrypting EO data, bytes are "woven" into each other.
deinterleave()  : void
Deinterleaves a sequence of bytes. This is the reverse of interleave.
flipMsb()  : void
Flips the most significant bits of each byte in a sequence of bytes.
swapMultiples()  : void
Swaps the order of contiguous bytes in a sequence that are divisible by a given multiple value.
serverVerificationHash()  : int
This hash function is used by the game client to verify communication with a genuine server during connection initialization.
_mod()  : int
Performs a modulus operation, considering negative adjustments.

Functions

interleave()

Interleaves a sequence of bytes. When encrypting EO data, bytes are "woven" into each other.

interleave(array<string|int, int> &$data) : void

This is an in-place operation.

Parameters
$data : array<string|int, int>

Reference to the data to interleave.

deinterleave()

Deinterleaves a sequence of bytes. This is the reverse of interleave.

deinterleave(array<string|int, int> &$data) : void

This is an in-place operation.

Parameters
$data : array<string|int, int>

Reference to the data to deinterleave.

flipMsb()

Flips the most significant bits of each byte in a sequence of bytes.

flipMsb(array<string|int, int> &$data) : void

Values 0 and 128 are not flipped.

Parameters
$data : array<string|int, int>

Reference to the data to flip MSB on.

swapMultiples()

Swaps the order of contiguous bytes in a sequence that are divisible by a given multiple value.

swapMultiples(array<string|int, int> &$data, int $multiple) : void
Parameters
$data : array<string|int, int>

Reference to the data to swap bytes in.

$multiple : int

The multiple value.

serverVerificationHash()

This hash function is used by the game client to verify communication with a genuine server during connection initialization.

serverVerificationHash(int $challenge) : int
Parameters
$challenge : int

The challenge value sent by the client. Should be no larger than 11,092,110.

Tags
remarks

The client sends an integer value to the server in the INIT_INIT client packet, where it is referred to as the challenge. The server hashes the value and sends the hash back in the INIT_INIT server packet. The client hashes the value and compares it to the hash sent by the server. If the hashes don't match, the client drops the connection.

warning

Oversized challenges may result in negative hash values, which cannot be represented properly in the EO protocol.

Return values
int

The hashed challenge value.

_mod()

Performs a modulus operation, considering negative adjustments.

_mod(int $a, int $b) : int
Parameters
$a : int

The dividend.

$b : int

The divisor.

Return values
int

The result of the modulus operation.


        
On this page

Search results