Skip to content

keotl/potato-cactus

Repository files navigation

potato-cactus

A potato cactus

A Runescape server engine written in Haskell. Targets revision 317.

Takes some inspiration from luna-rs and 317refactor.

Engine demo (v0.0.2, 2023-06-14)

2023-06-14

What works

  • Players can login
  • Players can walk around the world and load the map around them
  • Players can chat to each other
  • Players can equip armour and weapons
  • Players can seen and interact with NPCs
  • Players can seen and interact with game objects
  • The world can be configured using Python scripts
  • Players can drop and pick up items
  • Dialogue interfaces can be invoked and trigger callbacks
  • Scripts can be invoked dynamically through timeouts or callbacks
  • Scripts can set VarP/Varbit variables to control client behaviour such as instanced game objects or NPCs.
  • Scripts can access accurate game object placement information
  • Game Objects are added to a collision map for pathing calculations

Priorities

  • Game data loading
    • Item, NPC, Object definitions
    • Collision map and pathing
    • Static object set
  • Persistence mechanism

Running requirements

  • Revision-317 cache files
  • Revision-317 client with encryption disabled