diff --git a/serverlogic/src/main/java/com/ljsd/GameLogicService.java b/serverlogic/src/main/java/com/ljsd/GameLogicService.java index 6a473cff8..69445f022 100644 --- a/serverlogic/src/main/java/com/ljsd/GameLogicService.java +++ b/serverlogic/src/main/java/com/ljsd/GameLogicService.java @@ -119,8 +119,7 @@ public class GameLogicService implements IService { if(resource!=null){ LOGGER.info(resource.getFile()); } - //跨服分一次组 - GlobleSystemLogic.getInstence().doSplit(); + Runtime.getRuntime().addShutdownHook(new Thread(() -> { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_dosplit.java b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_dosplit.java new file mode 100644 index 000000000..b7badc6b5 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_dosplit.java @@ -0,0 +1,18 @@ +package com.ljsd.jieling.kefu; + +import com.ljsd.jieling.logic.GlobleSystemLogic; + +/** + * @author lvxinran + * @date 2021/7/22 + * @discribe + */ +public class Cmd_dosplit extends GmGlobleAbstract{ + @Override + public boolean exec(String[] args) throws Exception { + //跨服分一次组 + GlobleSystemLogic.getInstence().doSplit(); + System.out.println("gm手动分组成功"); + return true; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobleSystemLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobleSystemLogic.java index 2fb77630b..66f9c0794 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobleSystemLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobleSystemLogic.java @@ -231,7 +231,10 @@ public class GlobleSystemLogic implements IEventHandler { redisUtil.set(RedisKey.MATCHED_SPLIT_KEY,String.valueOf(1),expireTime-60); //提前两分钟结算 redisUtil.set(RedisKey.MATCHED_VERSION,TimeUtils.getTimeStampYMD(System.currentTimeMillis()),expireTime-120); - worldLevelMap.forEach((k,v)->redisUtil.zsetAddOne(RedisKey.SERVER_LEVEL_RANK,k,v)); + worldLevelMap.forEach((k,v)->{ + if(v>setting.getWorldLevel()){ + redisUtil.zsetAddOne(RedisKey.SERVER_LEVEL_RANK,k,v); + }}); Set> zsetRevRangeWithScore = redisUtil.getZsetreverseRangeByRangeWithScores(RedisKey.SERVER_LEVEL_RANK, setting.getWorldLevel(), 999); int index = 0;