Initial commit: Client Doc docs Server Tools

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ud18010
2026-07-10 10:24:29 +08:00
co-authored by Cursor
commit 7e35d8da31
3374 changed files with 680813 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
build_rps () {
local RPS_SRC="$ROOT/Server/games-src/RPS"
local RPS_BIN="$RPS_SRC/RPS.Server/bin/Release/netstandard2.1"
local TG="$ROOT/Server/Server.Host.Tests/TestGames/rps"
# 不使用 -o-o 会绕过 Private=false,把 Framework.Shared.dll 也拷进来。
dotnet build "$RPS_SRC/RPS.Server/RPS.Server.csproj" -c Release --no-incremental >/dev/null
# 断言框架程序集未进入构建输出(Private=false 回归保险)
if [ -f "$RPS_BIN/XWorld.Framework.Shared.dll" ]; then
echo "ERROR: Framework.Shared.dll 出现在构建输出 $RPS_BIN —— Private=false 可能被破坏" >&2
exit 1
fi
for dll in RPS.Core.dll RPS.Server.dll; do
if [ ! -f "$RPS_BIN/$dll" ]; then
echo "ERROR: 构建后缺少 $dll" >&2
exit 1
fi
done
# rps/1 = 真实版本;rps/2 = 同一批 IL(仅 version 字段不同),供版本号/淘汰/refcount 测试
for ver in 1 2; do
local out="$TG/$ver"
rm -rf "$out"; mkdir -p "$out"
cp "$RPS_BIN/RPS.Core.dll" "$out/RPS.Core.dll"
cp "$RPS_BIN/RPS.Server.dll" "$out/RPS.Server.dll"
cat > "$out/game.json" <<EOF
{
"gameId": "rps",
"version": $ver,
"serverAssembly": "RPS.Server.dll",
"serverEntryType": "RPS.Server.RpsServerRoom",
"minFrameworkVersion": 1,
"playerCount": 2,
"tickRateHz": 10
}
EOF
echo "built rps v$ver -> $out"
done
}
build_rps
echo "TestGames ready."