A dynamic single-player RuneScape 2004 experience with autonomous progressing bots, competitive hiscores, and a living game world.
Lost City Singleplayer Progressive reimagines the classic 2004 RuneScape experience as a rich single-player adventure. Play alongside autonomous AI bots that progress in real-time, compete on dynamic hiscores, and create a living, breathing game world filled with dynamic interactionsโfrom trading and cooperation to PvP combat and even deception.
Experience the nostalgia of early RuneScape while enjoying modern quality-of-life features and a fully open-source, modifiable codebase.
- Full progression across all 19 skills (Combat, Gathering, Artisan, Misc)
- Real-time skill leveling, questing, and achievement tracking
- Adaptive AI that responds to world state and player interaction
- Compete for dominance on dynamic hiscores
- Bots engage in PvP combat at designated hotspots
- Player-to-bot trading and economic interaction
- Dynamic NPC behaviors including scamming and deception
- Real-time activity simulation across all activities
Combat (7 skills): Attack, Strength, Defence, Magic, Range, Prayer, Hitpoints
Gathering (4 skills): Fishing, Woodcutting, Mining, Runecrafting
Artisan (6 skills): Firemaking, Fletching, Smithing, Cooking, Crafting, Herblore
Misc (2 skills): Agility, Thieving
- Solo progression without external dependencies
- Influence bot behavior through interaction
- Monitor bot progress via hiscores
- Fully customizable server settings
- Node.js
- Download and extract the base Lost City server (254 cache)
- Run
start.batto verify successful boot - Confirm login functionality works
# Download the Progressive repository
git clone https://github.com/yourusername/lost-city-progressive.git
# Extract contents into your server directory
# Copy all files from the repository into your fresh server folder
# Launch with the updated start.bat
start.bat- Login to the server
- Observe bots spawning and progressing
- Check hiscores for bot activity
- Join Discord for support
lost-city-progressive/
โโโ engine/
โ โโโ src/engine/
โ โ โโโ bot/ # Bot AI system
โ โ โ โโโ BotPlayer.ts # Main bot class
โ โ โ โโโ BotAction.ts # Bot primitive actions
โ โ โ โโโ BotGoalPlanner.ts # Task selection & progression
โ โ โ โโโ tasks/ # Individual skill tasks
โ โ โ โโโ ...
โ โ โโโ entity/ # Player/NPC/Loc entities
โ โ โโโ script/ # Script execution engine
โ โ โโโ ...
โ โโโ src/cache/ # Cache configuration
โโโ content/ # Game content (scripts, items, NPCs)
โ โโโ scripts/
โ โโโ configs/
โ โโโ ...
โโโ start.bat # Windows launcher
โโโ package.json # Dependencies & build config
โโโ README.md # This file
Bots autonomously progress through the skill system with:
- Intelligent task selection based on current level and available resources
- Resource management (banking, inventory management, item acquisition)
- Optimal pathing with gate awareness and world navigation
- Magic teleportation with visual cast animations
- Activity-specific AI (combat targeting, resource respawn detection, etc.)
Bots intelligently:
- Detect closed gates, doors, and barriers within 10 tiles
- Open gates directionally (toward their destination)
- Automatically handle AL Kharid tolls, Karamja boats, and similar gated regions
- Adapt routes when paths are blocked
- Real-time skill level tracking across all 19 skills
- XP-based rankings with visual displays
- Player vs. bot competition leaderboards
- Historical progress tracking
| Category | Skills | Status |
|---|---|---|
| Combat | Attack, Strength, Defence, Magic, Range, Prayer, Hitpoints | โ Complete |
| Gathering | Fishing, Woodcutting, Mining, Runecrafting | โ Complete |
| Artisan | Firemaking, Fletching, Smithing, Cooking, Crafting, Herblore | โ Complete |
| Misc | Agility, Thieving | โ Complete |
- Trading: Bots buy/sell items at shops and with players
- PvP: Bots engage in combat at wilderness hotspots
- Questing: Bots complete available quests for progression
- Resource gathering: Bots fish, mine, chop wood, and craft
- Deception: Bots may engage in scamming and player interaction
Modify bot behavior via:
BotKnowledge.ts- Bot-accessible item/location dataBotGoalPlanner.ts- Progression decision logic- Individual task files - Skill-specific AI
BotAction.ts- Low-level action primitives
# Install dependencies
bun install
# Build the TypeScript compiler
bun run build
# Start development server
bun run dev
# Run tests
bun run test
# Build for production
bun run build:prodWe welcome contributions! Please:
- Fork the repository and create a feature branch
- Follow the code style (TypeScript, 2-space indents, clear naming)
- Test thoroughly before submitting a pull request
- Document changes in commit messages and code comments
- Join our Discord to discuss major features
// Use descriptive names
const isPlayerAdjacentToGate = true;
// Comment complex logic
// botTeleport defers the actual position jump by 2 ticks so the
// cast animation plays visibly at the source location first
export function botTeleport(player: Player, x: number, z: number, level: number): void {
// Implementation
}
// Use JSDoc for public APIs
/**
* Opens the nearest closed gate within radius tiles, or walks toward it.
* Returns true if a gate was found and an action was queued.
*/
export function openNearbyGate(player: Player, radius = 30): boolean {
// Implementation
}- Lost City Docs: Official Documentation
- RuneScape Wiki: 2004 Era Content
- Bot AI Deep Dive: See
engine/src/engine/bot/for implementation details - Script System: Check
engine/src/engine/script/for scripting reference
- Discord: Join our server for support, discussion, and updates
- GitHub Issues: Report bugs and request features
- Pull Requests: Submit improvements and new features
- Wiki: Help document the project and share knowledge
This project is fully open source and available under the same license as Lost City (see LICENSE file).
Development Team:
- attackishere - lead developer
- _mrsam - trading, bot ai, lots more
- K-andy - bot phrases
- callum - node switch
Built on:
- Lost City 2004 - Open-source RuneScape 2004 reimplementation
- Bun - Fast JavaScript runtime
- TypeScript - Type-safe JavaScript
- Download the latest release
- Extract to your server directory
- Run
start.batand login - Watch bots progress in real-time
- Compete on the hiscores
- Share your experience on Discord
Having issues? We're here to help!
- Discord: Join our community
- GitHub Issues: Report a bug
Lost City Singleplayer Progressive โ Relive the golden age of RuneScape, now with dynamic AI bots and endless progression.
"The game was better in 2004" โ Now you can prove it.