-
Notifications
You must be signed in to change notification settings - Fork 1
Installation Windows
This guide covers what you need to install and run the fb server stack on Windows for local development.
For architecture overview, see Architecture and Technology Stack.
A full local stack includes:
| Layer | Components |
|---|---|
| Infrastructure | MySQL 8.0 or later, Redis, RabbitMQ |
| C++ services | Gateway, Login, Game, Bot |
| .NET services | Internal, Write-back, Log, Marketplace, Admin Tool |
| Runtime assets | Map files, Lua scripts, generated JSON/model data |
| Goal | Guide | Prerequisites |
|---|---|---|
| Run servers quickly (prebuilt or local build via GUI) | Windows — Runner | Git, .NET SDK 8+, MySQL / Redis / RabbitMQ |
| Build from source manually (C++, protocol, game-data work) | Windows — Build from source | Full dev toolchain (CMake, VS 2022+, native deps) |
Runner (tools/runner) is the recommended path on Windows. It can download prebuilt binaries (Patch), build locally (Build), check infrastructure, generate configs, and start or stop all services from one UI.
Use Build from source when you need fine-grained control over CMake, Visual Studio debugging, or CI-aligned manual steps.
- Windows 10 or later (64-bit)
git clone --recurse-submodules https://github.com/boyism80/fb.git
cd fbIf already cloned without submodules:
git submodule update --init --recursiveSubmodules used for development:
-
tools/data-converter— Excel → C++/C#/JSON -
tools/flatbuffer-ex— FlatBuffer protocol codegen -
wiki— project wiki (optional for running servers)
Install and start MySQL, Redis, and RabbitMQ before starting game services.
| Service | Purpose | Default dev port |
|---|---|---|
| MySQL 8.0 or later | Unified DB, per-world global/data/log databases | 3306 |
| Redis | Cache, sessions, distributed locks | 6379 |
| RabbitMQ | Internal events, write-back queue, log pipeline |
5672 (AMQP) |
Example connection layout (see server/internal/appsettings.Development.json):
- Unified MySQL:
fb-unified - World 1:
fb-1-global,fb-1-data-0…fb-1-data-2 - Log shards: created by migrations under
infra/db/migrations/
Database:AutoMigration is enabled in development configs. On first start, Internal (and other .NET services) apply SQL migrations from infra/db/migrations/ when the MySQL user can create databases and tables.
Default development ports (C++ config examples):
| Service | Port |
|---|---|
| Internal (HTTP) | 3000 |
| Gateway (TCP) | 3001 |
| Login (TCP) | 3002 |
| Game (TCP) |
3004 (see server/game/config/config.dev.json) |
Ensure Windows Firewall allows inbound connections on the ports clients and services use.
Note:
tools/setup.batis outdated (old directory layout, removedinfra/db/latest.sql). Do not use it. Follow the guides below or the CI steps in.github/workflows/build.yml(build-windowsjob) instead.