Skip to content

Installation Windows

boyism80 edited this page Jul 4, 2026 · 2 revisions

Windows Installation

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.

Overview

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

Choose a workflow

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.


Shared requirements

Operating system

  • Windows 10 or later (64-bit)

Clone the repository

git clone --recurse-submodules https://github.com/boyism80/fb.git
cd fb

If already cloned without submodules:

git submodule update --init --recursive

Submodules used for development:

  • tools/data-converter — Excel → C++/C#/JSON
  • tools/flatbuffer-ex — FlatBuffer protocol codegen
  • wiki — project wiki (optional for running servers)

Infrastructure services

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-0fb-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.bat is outdated (old directory layout, removed infra/db/latest.sql). Do not use it. Follow the guides below or the CI steps in .github/workflows/build.yml (build-windows job) instead.


Related pages

Clone this wiki locally