# myildirimofficial/rsbot architecture

> Architecture diagram of the GitHub repository myildirimofficial/rsbot, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/myildirimofficial/rsbot
- Repository: https://github.com/myildirimofficial/rsbot

## Overview

RSBot is an extensible Silkroad Online automation framework, supporting client-attached and clientless operation. Users configure a profile in the desktop application, choose automation such as training, trade, lure, or alchemy, and have the core runtime interact with the game through packets. The core also loads client reference data and exposes plugin extensibility. The tree and README establish these product capabilities; sampled source confirms packet dispatch, skill packet sending, reference-data loading, and NavMesh initialization, but not all UI-to-runtime wiring.

Main entry points: [`Library/RSBot.Core/Config/PlayerConfig.cs`](https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Config/PlayerConfig.cs) (Configuration), [`Library/RSBot.Core/Network/Socket/Client.cs`](https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Network/Socket/Client.cs) (Network client), [`Library/RSBot.Core/Network/PacketManager.cs`](https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Network/PacketManager.cs) (Packet dispatch), [`Library/RSBot.Core/Plugins/ExtensionManager.cs`](https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Plugins/ExtensionManager.cs) (Plugin manager)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Desktop app"]
  node_main["Main window<br/>[Main.cs]"]
end

subgraph group_automation["Automation"]
  node_training["Training bot<br/>[Botbase.cs]"]
  node_trade["Trade bot<br/>[TradeBotbase.cs]"]
  node_lure["Lure bot<br/>[LureBotbase.cs]"]
  node_alchemy["Alchemy bot<br/>[Botbase.cs]"]
end

subgraph group_core["Core runtime"]
  node_profiles["Profile management<br/>[ProfileManager.cs]"]
  node_config["Configuration<br/>[PlayerConfig.cs]"]
  node_kernel["Runtime kernel<br/>[Kernel.cs]"]
  node_skills["Skill manager<br/>[SkillManager.cs]"]
  node_references["Client references"]
  node_navmesh["NavMesh services<br/>[NavMeshManager.cs]"]
  node_packets["Packet dispatch<br/>[PacketManager.cs]"]
  node_client["Network client<br/>[Client.cs]"]
end

subgraph group_ext["Extensions"]
  node_plugins["Plugin manager"]
  node_plugin["Plugin modules<br/>[Bootstrap.cs]"]
end

node_user(("Bot user"))
node_server(("Silkroad server"))

node_user -->|"configures and starts"| node_main
node_main -->|"manages profiles"| node_profiles
node_profiles -->|"uses settings"| node_config
node_training -->|"reads configuration"| node_config
node_trade -->|"reads configuration"| node_config
node_lure -->|"reads configuration"| node_config
node_alchemy -->|"reads configuration"| node_config
node_skills -->|"sends skill packets"| node_packets
node_packets -->|"dispatches packets"| node_client
node_client -->|"exchanges packets"| node_server
node_server -->|"returns packets"| node_client
node_references -->|"initializes navigation"| node_navmesh
node_plugins -->|"registers hooks"| node_packets
node_plugins -->|"loads modules"| node_plugin
node_kernel -->|"uses network client"| node_client

click node_main "https://github.com/myildirimofficial/rsbot/blob/master/Application/RSBot/Views/Main.cs"
click node_profiles "https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Components/ProfileManager.cs"
click node_config "https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Config/PlayerConfig.cs"
click node_kernel "https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Kernel.cs"
click node_training "https://github.com/myildirimofficial/rsbot/blob/master/Botbases/RSBot.Training/Bot/Botbase.cs"
click node_trade "https://github.com/myildirimofficial/rsbot/blob/master/Botbases/RSBot.Trade/TradeBotbase.cs"
click node_lure "https://github.com/myildirimofficial/rsbot/blob/master/Botbases/RSBot.Lure/LureBotbase.cs"
click node_alchemy "https://github.com/myildirimofficial/rsbot/blob/master/Botbases/RSBot.Alchemy/Bot/Botbase.cs"
click node_skills "https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Components/SkillManager.cs"
click node_references "https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Client/ReferenceManager.cs"
click node_navmesh "https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.NavMeshApi/NavMeshManager.cs"
click node_packets "https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Network/PacketManager.cs"
click node_client "https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Network/Socket/Client.cs"
click node_plugins "https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Plugins/ExtensionManager.cs"
click node_plugin "https://github.com/myildirimofficial/rsbot/blob/master/Plugins/RSBot.Chat/Bootstrap.cs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_main,node_user toneBlue
class node_training,node_trade,node_lure,node_alchemy toneAmber
class node_profiles,node_config,node_kernel,node_skills,node_references,node_navmesh,node_packets,node_client,node_server toneMint
class node_plugins,node_plugin toneRose
```

## Components

### Desktop app

- [Main window](https://github.com/myildirimofficial/rsbot/blob/master/Application/RSBot/Views/Main.cs): `Application/RSBot/Views/Main.cs`

### Automation

- [Training bot](https://github.com/myildirimofficial/rsbot/blob/master/Botbases/RSBot.Training/Bot/Botbase.cs): `Botbases/RSBot.Training/Bot/Botbase.cs`
- [Trade bot](https://github.com/myildirimofficial/rsbot/blob/master/Botbases/RSBot.Trade/TradeBotbase.cs): `Botbases/RSBot.Trade/TradeBotbase.cs`
- [Lure bot](https://github.com/myildirimofficial/rsbot/blob/master/Botbases/RSBot.Lure/LureBotbase.cs): `Botbases/RSBot.Lure/LureBotbase.cs`
- [Alchemy bot](https://github.com/myildirimofficial/rsbot/blob/master/Botbases/RSBot.Alchemy/Bot/Botbase.cs): `Botbases/RSBot.Alchemy/Bot/Botbase.cs`

### Core runtime

- [Profile management](https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Components/ProfileManager.cs): `Library/RSBot.Core/Components/ProfileManager.cs`
- [Configuration](https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Config/PlayerConfig.cs): `Library/RSBot.Core/Config/PlayerConfig.cs`
- [Runtime kernel](https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Kernel.cs): `Library/RSBot.Core/Kernel.cs`
- [Skill manager](https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Components/SkillManager.cs): `Library/RSBot.Core/Components/SkillManager.cs`
- [Client references](https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Client/ReferenceManager.cs): `Library/RSBot.Core/Client/ReferenceManager.cs`
- [NavMesh services](https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.NavMeshApi/NavMeshManager.cs): `Library/RSBot.NavMeshApi/NavMeshManager.cs`
- [Packet dispatch](https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Network/PacketManager.cs): `Library/RSBot.Core/Network/PacketManager.cs`
- [Network client](https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Network/Socket/Client.cs): `Library/RSBot.Core/Network/Socket/Client.cs`

### Extensions

- [Plugin manager](https://github.com/myildirimofficial/rsbot/blob/master/Library/RSBot.Core/Plugins/ExtensionManager.cs): `Library/RSBot.Core/Plugins/ExtensionManager.cs`
- [Plugin modules](https://github.com/myildirimofficial/rsbot/blob/master/Plugins/RSBot.Chat/Bootstrap.cs): `Plugins/RSBot.Chat/Bootstrap.cs`

### Other components

- **Bot user**
- **Silkroad server**

## Connections

- Bot user → Main window: configures and starts
- Main window → Profile management: manages profiles
- Profile management → Configuration: uses settings
- Training bot → Configuration: reads configuration
- Trade bot → Configuration: reads configuration
- Lure bot → Configuration: reads configuration
- Alchemy bot → Configuration: reads configuration
- Skill manager → Packet dispatch: sends skill packets
- Packet dispatch → Network client: dispatches packets
- Network client → Silkroad server: exchanges packets
- Silkroad server → Network client: returns packets
- Client references → NavMesh services: initializes navigation
- Plugin manager → Packet dispatch: registers hooks
- Plugin manager → Plugin modules: loads modules
- Runtime kernel → Network client: uses network client
