Skip to content

WIP: Add support for Habbo Hotel Origins#183

Draft
UnfamiliarLegacy wants to merge 150 commits intosirjonasxx:masterfrom
G-Realm:moon
Draft

WIP: Add support for Habbo Hotel Origins#183
UnfamiliarLegacy wants to merge 150 commits intosirjonasxx:masterfrom
G-Realm:moon

Conversation

@UnfamiliarLegacy
Copy link
Contributor

@UnfamiliarLegacy UnfamiliarLegacy commented Jun 22, 2024

This pull request is a work in progress.

Adds Shockwave support to G-Earth for the Habbo hotel: Origins client.

TODO

  • Add Linux support to G-MemZ
  • Add macOS aarch64 builds of G-MemZ to G-Earth.
  • Add test for partially received encrypted outgoing packets. Then fix it here.
  • Improved method for finding Habbo process in G-MemZ.
  • Add flash support to G-MemZ so that G-Mem can be removed.
  • Optimize flash rc4 obtainer

Features

  • Connect Origins to G-Earth
  • Packet id to names through Sulek
  • Packet encryption / decryption
  • Packet logger
  • Packet injection (incoming and outgoing)
  • Packet expressions {out:CHAT}{s:"Hello test"}
  • Scheduler
  • Native extensions
  • External extensions

Fixes

  • Update scheduler UI state when changing direction
  • Packet string encoding now uses consistent encoding

Bugs

  • Rarely G-Earth gets blasted with connect attempts from the client

Before merging

  • Verify Habbo Air still works properly
  • Verify extension backwards compatibility

Notes for extension framework maintainers

If you wish to support shockwave you need to implement these, respect the HPacketFormat property and add the respective ShockPacketIncoming / ShockPacketOutgoing classes.

The following packets have an optional integer added at the end for the packetFormat. This defaults to EVA_WIRE for Flash.

  • Incoming 2 ManipulatedPacket
  • Incoming 4 SendMessage
  • Incoming 20 PacketToStringRequest
  • Incoming 21 StringToPacketRequest
  • Outgoing 3 PacketIntercept

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

Comments