交流论坛首页 » 阅读帖子

[源码] 防刷金币与安全校验机制的踩坑记录

关于怪物寻路和仇恨AI的优化,很多开源模拟器都是使用全图广播的线程机制,对CPU开销极大。这里我们将怪物的AI轮询由原来的1秒改为动态心跳:当怪物周围20格内没有在线玩家时,关闭AI轮询;一旦有玩家进入可视视野,立刻唤醒。这样做在怪物数量多达数万只的地图上能显著降低服务端CPU占用率达30%以上。

经常有站长问合服或者数据库发生突然崩塌时,部分表(比如 `character_warehouse` 或者 `char_items`)报错 'Table is marked as crashed' 或者主键冲突问题。可以使用底层的REPAIR命令进行热修复。对于主键冲突,可以使用下面的SQL语句合并冲突记录:

```sql
REPAIR TABLE character_warehouse USE_FRM;
-- 批量清理无主物品(删除没有对应角色ID的无效数据)
DELETE FROM char_items WHERE char_id NOT IN (SELECT objid FROM characters);
```
💬 全部互动回帖 (3)
沙发 🛋️
学到了,之前合服时主键冲突一直手工清理,用楼主的 SQL 几秒钟搞定!
板凳 🪑
楼主有测试过防外挂硬件指纹下发验证的性能开销吗?会不会占用主线程?
地板 🧱
G1GC 的启动参数调优,在 16G 内存的服务器上有什么建议 of 比例吗?
🔒 社区需要注册用户才能发表回复或发帖
立即登录 免费注册