- Rust 46.4%
- Python 34%
- Go 8.3%
- Shell 4.8%
- JavaScript 2.7%
- Other 3.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [rand](https://rust-random.github.io/book) ([source](https://redirect.github.com/rust-random/rand)) | dependencies | patch | `0.10.2` → `0.10.3` | --- ### Release Notes <details> <summary>rust-random/rand (rand)</summary> ### [`v0.10.3`](https://redirect.github.com/rust-random/rand/blob/HEAD/CHANGELOG.md#0103--2026-09-20) [Compare Source](https://redirect.github.com/rust-random/rand/compare/0.10.2...0.10.3) ##### Fixes - Fix `WeightedIndex` panic when the sum of float weights is infinite; return `Error::Overflow` instead ([#​1808]) - Fix spurious `Error::NonFinite` from `Uniform::new_inclusive` on large finite float ranges such as `0.0..=f64::MAX` ([#​1821]) - Fix possible panic due to sampling a deserialized `Uniform<char>` ([#​1831]) ##### Changes - Report exact remaining lengths from `WeightedIndex::weights()` and reduce overhead when reading weights ([#​1838]) [#​1808]: https://redirect.github.com/rust-random/rand/pull/1808 [#​1821]: https://redirect.github.com/rust-random/rand/pull/1821 [#​1831]: https://redirect.github.com/rust-random/rand/pull/1831 [#​1838]: https://redirect.github.com/rust-random/rand/pull/1838 </details> --- ### Configuration 📅 **Schedule**: (in timezone Asia/Shanghai) - Branch creation - "before 6am on monday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/youugiuhiuh/Wuthering_Waves_Private_Server). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMDMuMCIsInVwZGF0ZWRJblZlciI6IjQ0LjEwMy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
| .agents/skills | ||
| .codegraph | ||
| .forgejo/workflows | ||
| .github | ||
| .vscode | ||
| docs | ||
| go/installer | ||
| proto | ||
| rust/aegis | ||
| scripts | ||
| sni_tester | ||
| sni_tester_app | ||
| tools | ||
| .build.yml | ||
| .gitattributes | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| AGENTS.md | ||
| LICENSE | ||
| mise.toml | ||
| README.md | ||
| renovate.json | ||
| SECURITY.md | ||
| skills-lock.json | ||
WWPS Control Stack
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 botgo/installer: bootstrap installer and update entrypointrust/version-sync: release/version synchronization helpersni_tester: standalone SNI and connectivity testing utility
Naming note: deployed binaries are renamed —
wwps-coreis Xray-core andwwps-boxis Sing-box. The mapping is documented in the module comment ofrust/aegis/src/core/paths.rs.
Quick Start
Recommended environment:
- Ubuntu 20.04+
- Debian 10+
amd64orarm64Linux 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 or SimpleX for sensitive notification routing — the installer lets you pick Telegram, Matrix, SimpleX, Telegram + Matrix, or Telegram + SimpleX.
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. Settotp_secretto 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 programaegis: 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
- bot-driven operations and maintenance workflows over Telegram, Matrix, or SimpleX
- inbound configuration generation and lifecycle management
- routing, geo data, certificate, and kernel/network maintenance helpers
Supported management platforms:
| Platform | Flag | Notes |
|---|---|---|
| Telegram | (default) | |
| Matrix | --matrix |
|
| SimpleX | --simplex |
standalone; requires a local simplex-chat v7.0.0 — see docs/2026-09-16-simplex-platform.md |
| Telegram + Matrix | --all |
sensitive messages are routed to the Matrix room |
| Telegram + SimpleX | --tg-simplex |
Telegram is the control surface; sensitive messages are routed to the SimpleX admin contact |
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.