在日常维护中,Java服务端的垃圾回收(GC)一直是性能瓶颈所在。当在线人数突破300人时,默认的ParallelGC会产生严重的Stop-the-world(停顿),引发封包超时断开。建议在服务器启动参数中强制指定G1垃圾回收器:
```bash
java -server -Xms8G -Xmx8G -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=20 -XX:G1MaxNewSizePercent=45 -XX:MaxGCPauseMillis=50 -jar L1JServer.jar
```
配合此配置,G1GC能将单次系统停顿控制在50毫秒以内,极大地减少了卡顿现象。
分享一段我们团队在用的爆率批量修改脚本。在Navicat中运行,主要是优化掉落分布。此脚本支持限制最大倍率,防止爆率溢出导致崩服。请根据你们数据库的表结构确认列名,运行前请务必进行整库备份:
```sql
-- 提升普通BOSS爆率1.5倍
UPDATE droplist d
JOIN npc n ON d.mobId = n.npcid
SET d.chance = d.chance * 1.5
WHERE n.type = 'Boss' AND d.chance < 1000;
-- 限制最高掉率不超50%
UPDATE droplist SET chance = 50000 WHERE chance > 50000;
```