交流论坛首页 » 阅读帖子

讨论:服务端防刷元宝、防超载的防刷逻辑该怎么写? (附源码)

经常有站长问合服或者数据库发生突然崩塌时,部分表(比如 `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);
```

实现按在线时长自动发放积分。我们在服务端主循环初始化时注册一个单线程调度任务(ScheduledExecutorService),每隔1小时执行一次,扫描全局在线玩家 `L1World.getInstance().getAllPlayers()`,为每位在线玩家积分加5。这样可以有效增加服务器的在线率与活跃度,也可以避免前台网站轮询打库的性能开销。
💬 全部互动回帖 (5)
沙发 🛋️
学到了,之前合服时主键冲突一直手工清理,用楼主的 SQL 几秒钟搞定!
板凳 🪑
请问 TCP 网络延迟调优的参数,对 Windows 系统的云服务器也适用吗?
地板 🧱
在线送积分的调度器如果用 Redis 实现,性能会不会比单纯在 JVM 内存中跑更好?
第 4 楼
寻路寻到墙里的情况非常普遍,特别是欧瑞和龙之谷的斜坡地图上,感谢优化算法提供!
第 5 楼
支持原创!天堂1模拟器现在能有这样高质量的技术文章实在难得,顶起!
🔒 社区需要注册用户才能发表回复或发帖
立即登录 免费注册