- remove Java plugins (velocity/paper), dashboard, all MC-specific code
(handshake, death_code, varint, hostname-HMAC); available in history pre-v0.2
- merge crates/* into one package with src/bin/{rampart,rampart-manager,rampart-cli}
- ProtocolHandler trait + registry (no implementations yet), universal PoW kept
- XDP: universal L3/L4 filter (xdp/core/) + pluggable hook API (xdp/hooks/),
fix IPv6 saddr bug; clang build verified
- docs: bilingual knowledge base (docs/kb/: attacks x4, defense-levels,
practice x3), rewrite README/architecture for universal concept
- TODO.md v4.0: <=300-line module limit, competitor benchmark section (ref/)
- deploy/CI/docs cleanup: no MC references, new binary names
cargo build/clippy(-D warnings)/test green (55 tests)
3 KiB
3 KiB
Deployment - Rampart
Как поднять Rampart с нуля.
1. Компоненты
| Бинарь | Роль | Порт по умолчанию |
|---|---|---|
rampart |
Edge-нода: XDP + PoW + userspace-фильтр | 25565 (+ metrics 9090) |
rampart-manager |
REST API управления | 8080 |
rampart-cli |
Управление через Manager API | — |
2. Требования
Edge
- Ubuntu 22.04+ / Debian 12, kernel 5.10+
- KVM или bare metal (OpenVZ/LXC — XDP не работает)
- Rust toolchain для сборки
Для XDP дополнительно: libelf-dev libbpf-dev clang linux-libc-dev.
Manager
- Любая VDS с Docker (Redis обязателен)
3. Быстрый старт — Edge
# Сборка
git clone https://github.com/loki5512344/rampart.git && cd rampart
cargo build --release --bin rampart
# Установка
sudo cp target/release/rampart /usr/local/bin/
# Конфиг
sudo mkdir -p /etc/rampart
sudo cp deploy/config/edge.toml /etc/rampart/config.toml
# Отредактируй backend.upstreams под свои бэкенды
# systemd unit
cat > /etc/systemd/system/rampart.service << 'EOF'
[Unit]
Description=Rampart Edge Node
After=network.target
[Service]
Type=simple
Environment=RAMPART_CONFIG=/etc/rampart/config.toml
ExecStart=/usr/local/bin/rampart
Restart=always
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now rampart
# Проверка
journalctl -u rampart -f
⚠️ В ядре нет ни одной реализации протокольного обработчика: реестр протоколов пуст, и
rampartпри старте требует featureprotocol-httpили внешний ProtocolHandler (см. src/bin/rampart.rs). До появления плагинов edge-нода запускается только в исследовательских целях.
4. Быстрый старт — Manager
export REDIS_URL="redis://127.0.0.1:6379/0"
export JWT_SECRET="$(openssl rand -hex 32)" # минимум 32 байта
export API_PASSWORD="не-changeme" # дефолт запрещён
cargo run --release --bin rampart-manager
# API на 0.0.0.0:8080
Инфраструктура (Redis, ClickHouse, Grafana):
docker compose up -d redis clickhouse grafana
5. Docker
# Образ edge
docker build -f deploy/docker/Dockerfile.edge -t rampart-edge .
# Полный стек edge + инфраструктура
docker compose -f deploy/docker-compose.yml up -d
6. Проверка после деплоя
☐ systemctl status rampart
☐ ss -tlnp | grep 25565
☐ curl http://localhost:9090/metrics | grep rampart_
☐ rampart-cli status # через Manager API
☐ rampart-cli doctor # диагностика
Версия: 2.0 | Август 2026