Skip to content

brett-taylor/sbox-terryscape-server

Repository files navigation

TerryScape Server

A websocket based server written in Java attempting to recreate a "OldSchool Runescape" style game.

This is just the server - the client is written in C# and SBox and currently not public. The client can be downloaded and decompiled from S&Box. The client will be made public soon.

Small overview of server architecture

  • Websocket based networking with packet system.
  • Sever authoriative. The server simulates all game logic. Each client is just responsible for rendering.
  • Broken down into separate modules:
    • cache
      • Similar to Oldschool Runescape, a text based game cache to store game data. Most content is driven by a cache. E.g. world data (think walkable tiles or npc spawns), npcs and shops.
    • content
      • "Game Logic" is implemented in modules inside this module. Should be easy to add new game logic - just make a new module - and remove existing game logic - just delete the module.
      • For example the "food" content module implements the game logic for eating food and healing.
    • engine
      • The API for content modules.
    • engine-internal
      • The internal code for the API found in the engine module.

Getting Started

  • Very standard Gradle application
  • Build and Run com.terryscape.ServerLauncher

Features / Media

Fully Networked (Server authoritative)

output.mp4

Melee Combat

melee-combat.mp4

Ranged/Magic Combat

range.mp4

A* Pathfinding

pathfinding.mp4

Inventory, Items, and Item stats

itemstats.mp4

Shops

shops.mp4

Dialogue

dialogue.mp4

World Object Interaction

worldobjects.mp4

Ground Items

grounditems.mp4

Bossfight, Death, and Respawning

bossfight.mp4

About

A recreation of OldSchool Runescape for S&Box. This is the server.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published