Package-level declarations

Types

Link copied to clipboard
class HideLocOps(val hidden: Boolean) : OutgoingGameMessage

Hide loc ops packet is used to hide the right-click menu of all locs across the game.

Link copied to clipboard
class HideNpcOps(val hidden: Boolean) : OutgoingGameMessage

Hide npc ops packet is used to hide the right-click menu of all NPCs across the game.

Link copied to clipboard
class HideObjOps(val hidden: Boolean) : OutgoingGameMessage

Hide obj ops packet is used to hide the right-click menu of all objs on the ground.

Link copied to clipboard
class HintArrow(val type: HintArrow.HintArrowType) : OutgoingGameMessage

Hint arrow packets are used to render a hint arrow at a specific player, NPC or a tile. Only a single hint arrow can exist at a time in OldSchool.

Link copied to clipboard
class HiscoreReply : OutgoingGameMessage

Hiscore reply is a packet used in the enhanced clients to do lookups of nearby players, to find out their stats and rankings on the high scores. This packet is sent as a response to the hiscore request packet.

Link copied to clipboard
class MinimapToggle(val minimapState: Int) : OutgoingGameMessage

Minimap toggle is used to modify the state of the minimap and the attached compass.

Link copied to clipboard
class ReflectionChecker(val id: Int, val checks: List<ReflectionChecker.ReflectionCheck>) : OutgoingGameMessage

Reflection checker packet will attempt to use java.lang.reflect to perform a lookup or invocation on a method or field in the client, using information provided in this packet. These invocations/lookups may fail completely, which is fully supported, as various exceptions get caught and special return codes are provided in such cases. An important thing to note, however, is that the server is responsible for not requesting too much, as the client's reply packet has a var-byte size, meaning the entire reply for a reflection check must fit into 255 bytes or fewer. There is no protection against this. Additionally worth noting that the InvokeMethod variant, while very powerful, is not utilized in OldSchool, and is rather dangerous to invoke due to the aforementioned size limitation.

Link copied to clipboard
data object ResetAnims : OutgoingGameMessage

Reset anims message is used to reset the currently playing animation of all NPCs and players. This does not impact base animations (e.g. standing, walking). It is unclear what the purpose of this packet actually is.

Link copied to clipboard
class ResetInteractionMode : OutgoingGameMessage

Resets the interaction mode for a specific world.

Link copied to clipboard
class SendPing(val value1: Int, val value2: Int) : OutgoingGameMessage

Send ping packet is used to request a ping response from the client. The client will send these value1 and value2 variables back to the server in exchange. These integer identifiers do not appear to have any known structure to them - they are not epoch time in any form. Seemingly random as the value can change drastically between different logins.

Link copied to clipboard
data object ServerTickEnd : OutgoingGameMessage

Server tick end packets are used by the C++ client for ground item settings, in order to decrement visible ground item's timers. Without it, all ground items' timers will remain frozen once dropped.

Link copied to clipboard
class SetHeatmapEnabled(val enabled: Boolean) : OutgoingGameMessage

Set heatmap enabled packet is used to either enable or disabled the heatmap, which is rendered over the world map in OldSchool. This packet utilizes high resolution coordinate info about all the players of the game through player info packet, so in order for it to properly function, high resolution information must be sent for everyone in the game.

Link copied to clipboard
class SetInteractionMode : OutgoingGameMessage

Sets the interaction mode for a specific world.

Link copied to clipboard
class SiteSettings(val settings: String) : OutgoingGameMessage

Site settings packet is used to identify the given client. The settings are sent as part of the URL when connecting to services or secure RuneScape URLs.

Link copied to clipboard
class UpdateRebootTimer(val gameCycles: Int) : OutgoingGameMessage

Update reboot timer is used to start the shut-down timer in preparation of an update.

Link copied to clipboard
class UpdateUid192(val uid: ByteArray) : OutgoingGameMessage

Update UID 192 packed is used to update the random 192-bit id that is found in the random.dat file within the player's cache directory. The 192-bit UID will be accompanied by a 32-bit CRC of the block, which the client will verify before changing the contents of the random.dat file.

Link copied to clipboard
class UrlOpen(val url: String) : OutgoingGameMessage

URL open packets are used to open a site on the target's default browser.