功能测试账号
happyro2 是可选的开发测试数据,不随正式数据库初始化自动创建。账号为 happyro2,密码为 happyro,属于普通玩家组(group_id=0),用于按实际玩家权限测试功能。
角色与物资
四个角色位于普隆德拉 prontera 164,185,均为 Base 99 / Job 50,各有 1,000,000 Zeny、普通剑、100 瓶红色药水和 50 瓶蓝色药水。
| 角色位 | 角色名 | 职业 | 测试准备 |
|---|---|---|---|
| 1 | 二号铁匠 | 铁匠 | 露天商店 Lv.10、手推车使用 Lv.10;已装备推车,车内有红色药水×100、蓝色药水×50、杰勒比结晶×100、普通剑×1 |
| 2 | 二号宠物 | 剑士 | 已出战的波利、关联宠物蛋;苹果汁×100、宠物孵化器×10 |
| 3 | 二号佣兵 | 剑士 | 已出战的 Lv.20 弓箭手佣兵 Mina,在线契约时间 30 分钟;1 级弓佣兵召唤书×10、佣兵红色和蓝色药水各×30 |
| 4 | 二号炼金 | 炼金术师 | 已出战的 Lv.50 Amistr 生命体;蒸发、召唤与复活技能;扎贡×100、生命种子和胚胎各×10 |
铁匠快捷栏第一个位置为露天商店。炼金术师前三个位置依次为蒸发、召唤人工生命体、人工生命体复活;Amistr 已学习王车易位、防御、精钢皮肤各 Lv.5,并保留 1 点技能点。
测试方式
- 摆摊:选择二号铁匠,在允许摆摊的位置使用露天商店,从推车选择商品并设置价格。用另一个账号(例如
happyro)购买;同一账号不能同时登录两个角色。 - 宠物:选择二号宠物,检查波利跟随、宠物资料与喂食。波利吃苹果汁;返蛋后使用宠物孵化器重新孵化。出战期间关联蛋在背包中隐藏,属于正常状态。
- 佣兵:选择二号佣兵,检查跟随、资料、技能与药水使用。契约时间按在线时间消耗;解雇或契约结束后使用背包中的召唤书继续测试。
- 生命体:选择二号炼金,检查 Amistr 跟随、喂食、技能、蒸发和重新召唤。食物为扎贡;Renewal 的召唤有持续时间,后续召唤按当前技能规则消耗材料。
SQL 重放
权威 SQL 位于根仓库的 deploy/mariadb/fixtures/happyro2.sql,按当前 Renewal 游戏库结构执行,账号、角色和伙伴 ID 均由数据库分配,不依赖某台机器的固定 ID。
先停止游戏、Gateway 和 API 写入进程,只保留数据库运行。必须等待游戏进程完成存档后再导入;不能在账号在线时用 SQL 修改角色。服务管理方式见根仓库服务手册。
在 HappyRO 根目录向本机独立数据库导入:
bash
docker exec -i happyro-native-database sh -c \
'exec mariadb --default-character-set=utf8mb4 -uroot -p"$MARIADB_ROOT_PASSWORD" happyro' \
< deploy/mariadb/fixtures/happyro2.sql连接其他开发数据库时,明确指定游戏库和有写入及创建存储过程权限的操作账号:
bash
mariadb -h 127.0.0.1 -P 13306 -u root -p \
--default-character-set=utf8mb4 happyro \
< deploy/mariadb/fixtures/happyro2.sql导入成功后恢复游戏与 API 服务,使用 happyro2 / happyro 登录。
重放行为:
- 账号不存在时,创建账号、四个角色、技能、物资、推车和伙伴关联。
- 已存在且匹配该测试数据的账号,校验四个角色位、名称与职业后跳过;不重置密码、等级、物资、契约时间或测试进度。
- 同名账号不匹配,或者角色名已被其他账号占用,直接报错,不覆盖存档。
- 游戏表使用 MyISAM,SQL 的异常处理会清理本次新建账号的关联记录,避免依赖无效的事务回滚;数据库进程崩溃或连接被强制终止时仍需人工检查残留。
要恢复最初的完整物资与伙伴状态,应使用新的开发数据库重放,或先通过管理后台的账号删除流程删除 happyro2,等删除任务完成并停服后再导入。不要手工只删除 login 或 char 行,否则会留下关联数据。