No description
  • Rust 79%
  • Go 13.1%
  • Dart 4.6%
  • Python 1.3%
  • Shell 0.6%
  • Other 1.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
youugiuhiuh 70fec8d7ec 1.3.8
2026-09-02 17:08:32 +08:00
.agents/skills Update Skills 2026-08-30 10:25:17 +08:00
.codegraph Init 2026-07-30 19:33:03 +08:00
.github ci: remove old release cleanup step from public-release workflow 2026-08-31 09:47:23 +08:00
.vscode Init 2026-07-30 19:33:03 +08:00
go/installer 1.3.8 2026-09-02 17:08:32 +08:00
proto Init 2026-07-30 19:33:03 +08:00
rust 1.3.8 2026-09-02 17:08:32 +08:00
scripts Init 2026-07-30 19:33:03 +08:00
sni_tester chore(deps): bump github.com/miekg/dns in /sni_tester 2026-08-25 09:08:16 +00:00
sni_tester_app Init 2026-07-30 19:33:03 +08:00
tools Init 2026-07-30 19:33:03 +08:00
.build.yml Init 2026-07-30 19:33:03 +08:00
.gitattributes Init 2026-07-30 19:33:03 +08:00
.gitignore Fix and Update CC.pd 2026-08-13 16:01:11 +08:00
.pre-commit-config.yaml Init 2026-07-30 19:33:03 +08:00
AGENTS.md Update AGENTS.md 2026-08-30 12:56:18 +08:00
LICENSE Init 2026-07-30 19:33:03 +08:00
mise.toml Update mise.toml 2026-08-29 16:27:09 +08:00
README.md feat: rename wwps-core display name to Xray-core in i18n; bump aegis to 1.3.0 2026-08-31 16:32:33 +08:00
SECURITY.md Init 2026-07-30 19:33:03 +08:00
skills-lock.json Update Skills 2026-08-30 10:25:17 +08:00

WWPS Control Stack

License: AGPL v3 Platform Status

Overview

This is the control plane used to deploy, initialize, update, and operate the WWPS environment on Linux VPS hosts.

An experimental self-hosted server emulator project for Wuthering Waves, focused on quick deployment, simple management, and stable runtime behavior on Linux VPS environments.

Features

  • One-command bootstrap installer
  • Remote management workflow after deployment
  • User profile and runtime configuration management
  • Deployment asset rotation and maintenance utilities
  • Network tuning and recovery helpers
  • Suitable for lightweight VPS environments

Components

  • rust/aegis: Telegram-based management bot
  • go/installer: bootstrap installer and update entrypoint
  • rust/version-sync: release/version synchronization helper
  • sni_tester: standalone SNI and connectivity testing utility

Naming note: deployed binaries are renamed — wwps-core is Xray-core and wwps-box is Sing-box. The mapping is documented in the module comment of rust/aegis/src/core/paths.rs.

Quick Start

Recommended environment:

  • Ubuntu 20.04+
  • Debian 10+
  • amd64 or arm64 Linux VPS

Install with:

Interactive (simplest): SSH into your server and run:

wget -O /root/installer "https://github.com/youugiuhiuh/Wuthering_Waves_Private_Server/releases/latest/download/installer" && chmod +x /root/installer && ./installer

Follow the prompts to enter your Telegram Bot Token and Admin ID. Optionally configure Matrix for sensitive notification routing.

To update an existing installation, just run the same command again — the installer handles upgrades automatically.

Headless (automation via SSH pipe): download once, then pipe config via heredoc.

JSON format (best for simple ASCII values):

ssh root@YOUR_SERVER_IP "wget -qO /root/installer 'https://github.com/youugiuhiuh/Wuthering_Waves_Private_Server/releases/latest/download/installer' && chmod +x /root/installer"
ssh -T root@YOUR_SERVER_IP /root/installer --setup-stdin <<'JSONEOF'
{"token":"YOUR_BOT_TOKEN","admin_id":"YOUR_ADMIN_ID","totp_secret":"","matrix_homeserver":"https://matrix.org","matrix_username":"@bot:matrix.org","matrix_password":"YOUR_PASSWORD","matrix_room_id":"!room:matrix.org"}
JSONEOF

Key=value format (avoids JSON quoting, recommended for passwords with special/non-ASCII characters):

ssh root@YOUR_SERVER_IP "wget -qO /root/installer 'https://github.com/youugiuhiuh/Wuthering_Waves_Private_Server/releases/latest/download/installer' && chmod +x /root/installer"
ssh -T root@YOUR_SERVER_IP /root/installer --setup-keyval <<'KVEOF'
token=YOUR_BOT_TOKEN
admin_id=YOUR_ADMIN_ID
totp_secret=
matrix_homeserver=https://matrix.org
matrix_username=@bot:matrix.org
matrix_password=YOUR_PASSWORD
matrix_room_id=!room:matrix.org
KVEOF

Fields matrix_* are optional. Set totp_secret to empty string to auto-generate. Using a heredoc (<<'EOF') avoids shell injection — your password can contain any characters safely. The key=value format passes raw bytes without JSON escaping, making it the easier choice when passwords contain special or non-ASCII characters.

Repository Contents

Releases include:

  • installer: bootstrap program
  • aegis: management-side executable

Use the installer first. It will prepare the runtime environment and deploy the required components automatically.

Operations

After installation, the management interface can be used for:

  • service status checks
  • user and configuration maintenance
  • deployment updates
  • runtime diagnostics
  • security and recovery operations

Build

Rust bot

cd rust/aegis
cargo build --release

Go installer

cd go/installer
go build -o installer .

SNI tester

cd sni_tester
go build .

Release Flow

The CI/CD workflows build release artifacts from this repository and create releases with aegis and installer binaries.

Supported CI/CD platforms:

  • GitHub Actions (.github/workflows/public-release.yml)
  • GitLab CI (.gitlab-ci.yml)
  • Azure Pipelines (azure-pipelines.yml)
  • Bitbucket Pipelines (bitbucket-pipelines.yml)
  • SourceHut Builds (.build.yml)

Trigger by bumping version in rust/aegis/Cargo.toml and pushing to default branch, or run manually with version input.

Scope

The project focuses on:

  • host bootstrap and secure initialization
  • Telegram-side operations and maintenance workflows
  • inbound configuration generation and lifecycle management
  • routing, geo data, certificate, and kernel/network maintenance helpers

Disclaimer

This project is intended for educational and technical research purposes only. Do not use it for commercial activities.

Wuthering Waves is a trademark of its respective owner. Please support the official game.