网页文字版游戏,支持 SQLite / MySQL,内置 GM 后台、活动系统、宠物系统、法宝系统、修真玩法、积分商城、邀请返利、首充福利等。
本项目当前采用 PolyForm Noncommercial License 1.0.0。
- 这是“源码可见”协议,不属于 OSI 意义上的开源协议
- 允许查看源码、学习、非商业使用、非商业修改与分发
- 不允许将本项目或其衍生版本用于商业用途(包括直接商用、收费服务、商业化开服等)
协议正文见仓库根目录 LICENSE,或访问:
https://polyformproject.org/licenses/noncommercial/1.0.0/
- 网页端 + Socket 实时战斗(同时提供安卓客户端目录)
- 支持
SQLite/MySQL - GM 后台可配置大量玩法参数(BOSS、修炼、法宝、活动、掉率等)
- 多区服(
realm)支持 - 智能挂机、SVIP 离线托管(服务端托管,重启后可恢复)
- 行会、沙巴克、交易、寄售、邮件、宠物、法宝、修真塔等完整系统
| 支付宝 | 微信 |
|---|---|
![]() |
![]() |
docker build -t text-legend .
docker run -p 3000:3000 \
-e DB_CLIENT=sqlite \
-e DB_FILENAME=/app/data/game.sqlite \
-e DB_POOL_MAX=1 \
-e SQLITE_WAL=true \
-e SQLITE_SYNCHRONOUS=NORMAL \
-e ADMIN_BOOTSTRAP_SECRET=change_me \
-e ADMIN_BOOTSTRAP_USER=admin_account \
-v %cd%/data:/app/data \
text-legenddocker compose up --builddocker compose -f docker-compose.mysql.yml up --buildnpm install
node src/index.js默认端口:3000
- 游戏:
http://localhost:3000/ - 后台:
http://localhost:3000/admin/
DB_CLIENT:sqlite或mysqlDB_FILENAME:SQLite 文件路径DB_HOST/DB_PORT/DB_USER/DB_PASSWORD/DB_NAME:MySQL 连接信息DB_POOL_MAX:数据库连接池大小(SQLite 建议1)DB_SLOW_QUERY_LOG:是否开启慢查询日志(默认开启)DB_SLOW_QUERY_MS:慢查询阈值毫秒(默认mysql=200、sqlite=500)
SQLITE_WAL:是否启用 WAL(默认true)SQLITE_SYNCHRONOUS:同步模式(默认NORMAL,可选FULL/EXTRA)
PORT:服务端口(默认3000)PUBLIC_BASE_URL:站点对外访问地址,例如https://example.com,用于邮件中的找回密码链接ADMIN_PATH:后台路径(默认admin)ADMIN_BOOTSTRAP_SECRET:初始化 GM 密钥ADMIN_BOOTSTRAP_USER:首次自动提升为 GM 的账号名LOG_COLOR:是否启用控制台彩色日志(默认启用,设为false可关闭)
当前版本主要通过 UI 操作,不强调命令输入。
- 方向移动:点击方向按钮
- 目标选择:点击怪物/玩家列表项
- 技能释放:点击技能按钮
- 自动挂机:点击“挂机/智能挂机”进行配置
- 背包/宠物/法宝/邮件/寄售/交易:右侧功能按钮进入
- 角色操作(改名/迁移):点击右上角自己的角色名
- 职业与技能(战/法/道)
- 装备、锻造、特效重置、元素属性
- 行会、队伍、沙巴克攻城
- 交易、寄售、邮件附件
- 宠物(打书、合宠、宠物装备、宠物修炼)
- 法宝(升级、升段、被动/自动触发被动)
- 修真系统、修真秘境、修真BOSS、诛仙浮屠塔
- 活动中心、活动积分商城、排行榜结算
- 首充福利、邀请系统(返利/首充加成)
- 先以主线刷怪升级为主,优先保证药水不断
- 尽快学齐本职业核心技能(技能书可通过掉落、交易、商城获得)
- 装备前期不用追极品,先凑齐基础属性和等级效率
- 打开活动中心查看当前活动与积分商城
当前版本有 新人追赶计划(仅未修真玩家生效):
<100级:打怪经验x5100-200级:打怪经验x2.5>=201级:恢复正常
说明:只加打怪经验,不加金币;修真后不再享受该加成。
优先级建议:
- 技能等级与关键技能书
- 装备品质(极品随机属性)与基础套装
- 锻造等级(提升稳定)
- 修炼 / 修炼果(稳定成长)
- 宠物与法宝(中后期收益很高)
建议做法:
- 开启智能挂机,勾选想打的 BOSS 名称(有 BOSS 就打,没 BOSS 会回普通房间刷经验)
- 有条件加入活跃行会,参与组队和沙巴克
- 邮件、交易、寄售流转资源时注意保留高品质装备(系统已修复极品/锻造/特效在交易寄售邮件中的丢失问题)
- 200+ 后经验追赶活动结束,核心转为修真、BOSS、法宝、宠物提升
- 修真BOSS与世界BOSS是关键资源来源(高阶装备、技能书、法宝材料等)
- 高阶装备请重点关注:基础属性、极品随机百分比、锻造等级、特效质量
- 法宝建议长期培养(升段收益明显,且被动/自动触发被动会持续增强)
- 前期靠稳定物理输出推进
- 中后期吃装备和锻造收益明显
- 适合打 BOSS、近战爆发
- 清怪效率高,群攻优势明显
- 需要注意蓝量与站位
- 中期开始法宝和高阶技能收益很大
- 召唤物 + 持续输出 + 辅助能力综合强
- 智能挂机体验好,适合长期挂机刷资源
- 宠物/法宝/修炼叠起来后上限很高
- 建议勾选常刷 BOSS 名称
- 没有 BOSS 时会自动回普通经验房刷怪
- 普通房间死亡后会自动重新选图(不会长期卡新手图)
- 开启智能挂机后可直接关闭浏览器,由服务器继续托管挂机
- 托管收益等同在线智能挂机(会打 BOSS、刷经验、拿掉落)
- 若下线时忘记开启智能挂机,SVIP 会在
5分钟后自动开始托管 - 托管状态会显示为
托管(不是离线) - 服务器重启后可恢复托管状态(含待托管)
注意:同账号仍限制只能一个角色在线。
- 入口:宠物面板 UI(不是命令)
- 消耗:金币 +
宠物修炼果 - 宠物修炼果不可交易 / 不可寄售 / 不可邮件 / 不可直接使用
- 宠物不包含“道术”修炼项(已移除)
- 前期先保证宠物能稳定出战(技能格、基础技能)
- 中期再投入打书与宠物修炼
- 高价值技能书与宠物装备优先给主力宠物
马年神兽为特殊神兽宠物(非普通掉落)- 自带专属技能
神兽护甲(锁定技能,不会被打书/合宠替换) - 专属技能可提升人物防御/魔御(当前为 40%)
- 法宝被动与自动触发被动均生效
- 当前被动成长按“阶数”生效(不是法宝等级)
- 建议长期培养 1-2 件主力法宝,不要平均分散资源
- 法宝说明已展示每阶加成与自动触发效果数值(触发率、效果值、每段成长等)
- 人物修炼是长期稳定提升来源,优先补核心生存属性和主属性
- 规则:人物属性修炼
500级后继续修炼需要额外消耗修炼果 - 修炼、修炼果、锻造增加的属性已调整为“最后加入”,不会再吃百分比加成放大
- 后台配置已简化为:
兑换物品 + 所需积分 - 玩家通过活动中心进入积分商城兑换(奖励走邮件)
- 支持后台可配置(金币、道具、是否赠送马年神兽等)
- 自动首充按
账号 + 区服判定(同账号不同区可各触发一次) - 后台支持单角色补发、批量补发、单独补发马年神兽
- 玩家可生成邀请链接邀请新玩家注册
- 被邀请玩家首次充值可获得额外元宝加成
- 邀请人可获得元宝返利(比例后台可配置,默认常见为 20%)
- 后台支持邀请返利补发/失败重试接口
- 装备在交易、寄售、邮件附件中会保留:
- 极品随机属性百分比(
base_roll_pct) - 锻造等级
- 耐久 / 最大耐久
- 特效 / 元素属性
- 寄售到期时间固定为
48小时 - 到期自动下架(后台已移除该项设置)
访问:http://localhost:3000/admin/
首次配置 GM(任选其一):
- 注册普通账号
- 设置环境变量
ADMIN_BOOTSTRAP_SECRET和ADMIN_BOOTSTRAP_USER - 启动服务后自动提升 GM
或调用 /admin/bootstrap 传入 secret + username。
- 用户/权限管理
- 角色数据修改、角色迁移(转移账号)
- 站内邮件
- VIP/SVIP、激活码
- 世界BOSS/特殊BOSS/修真BOSS参数
- 修炼、锻造、特效重置、宠物、法宝配置
- 活动积分商城配置
- 首充福利配置、补发
- 邀请返利配置与补发
- 数据备份 / 导入
系统内置自动备份(默认每日 0 点),备份目录为 data/backup。
- 每日自动备份
- 保留 30 天(自动清理旧备份)
- 同日仅保留最新备份
- 支持后台手动导出 / 导入
- 导入会覆盖当前数据
- 建议停服或确保无在线玩家
- 导入后会强制玩家下线
当 mob_respawns 体量过大时,可用内置脚本分批限速清理“已过期且无血量快照”的记录。
先预览(不删除):
npm run db:cleanup-mob-respawns执行清理(示例:每批 2000、最多 400 轮、每轮间隔 60ms):
npm run db:cleanup-mob-respawns -- --execute --batch-size=2000 --max-rounds=400 --sleep-ms=60可选限制本次最多删除条数(例如 50000):
npm run db:cleanup-mob-respawns -- --execute --max-delete=50000按区服清理(例如仅清理 realm_id=1):
npm run db:cleanup-mob-respawns -- --execute --realm-id=1可多次传参同时清理多个区服:
npm run db:cleanup-mob-respawns -- --execute --realm-id=1 --realm-id=2一次性清理“历史普通怪”记录(保留 BOSS 相关模板):
先预览:
npm run db:purge-normal-mob-respawns执行删除(示例):
npm run db:purge-normal-mob-respawns -- --execute --batch-size=2000 --max-rounds=400 --sleep-ms=60按区服执行:
npm run db:purge-normal-mob-respawns -- --execute --realm-id=1项目包含 android/ 目录(Kotlin + Jetpack Compose),通过 HTTP / Socket API 连接游戏服务器。
- 用 Android Studio 打开
android/ - 等待 Gradle 同步完成
- 运行
app模块
- 默认示例:
https://cq.071717.xyz/ - 模拟器本地:
http://10.0.2.2:3000/ - 真机局域网:
http://192.168.x.x:3000/
项目会持久化怪物重生倒计时与部分怪物血量快照(用于重启恢复)。当前版本已增加定期清理无效过期记录。
注意:DELETE 后 InnoDB 文件大小不一定立刻缩小;如需回收磁盘空间,可执行:
OPTIMIZE TABLE mob_respawns;当前版本不会。已支持重启后按倒计时/血量恢复。
当前版本已修复托管接管后的角色重载问题,正常会自动恢复已保存的召唤兽(前提是召唤兽下线前存活且蓝量足够)。
- 入口:
src/index.js - 指令与部分战斗逻辑:
src/game/commands.js - 前端主逻辑:
public/app.js - 后台前端:
public/admin/admin.js - 数据库访问:
src/db/*
如果你准备二开,建议优先阅读:
src/index.jssrc/game/player.jssrc/game/state.jssrc/game/commands.jspublic/app.js

