From 36b37390493139a945cd98268e4c3b292b6e26c9 Mon Sep 17 00:00:00 2001 From: mashiyu Date: Wed, 23 Jan 2019 09:53:44 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- serverlogic/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serverlogic/build.gradle b/serverlogic/build.gradle index af5193d58..909be9998 100644 --- a/serverlogic/build.gradle +++ b/serverlogic/build.gradle @@ -47,10 +47,10 @@ task taskJar(type:Jar, dependsOn: compileJava) { //删除lib中的jar task clearJars(type:Delete){ - delete 'lib' + delete 'build/libs' } task copyJars(type: Copy, dependsOn:clearJars) { from configurations.runtime - into 'lib' // 目标位置 + into 'build/libs' // 目标位置 } \ No newline at end of file From f408616cc2ada398517b6a556ef271135d751149 Mon Sep 17 00:00:00 2001 From: mashiyu Date: Wed, 23 Jan 2019 10:02:41 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- serverlogic/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/serverlogic/build.gradle b/serverlogic/build.gradle index 909be9998..af5193d58 100644 --- a/serverlogic/build.gradle +++ b/serverlogic/build.gradle @@ -47,10 +47,10 @@ task taskJar(type:Jar, dependsOn: compileJava) { //删除lib中的jar task clearJars(type:Delete){ - delete 'build/libs' + delete 'lib' } task copyJars(type: Copy, dependsOn:clearJars) { from configurations.runtime - into 'build/libs' // 目标位置 + into 'lib' // 目标位置 } \ No newline at end of file From 477bcdab2828f46b3bd8c546fab222e509bb67bc Mon Sep 17 00:00:00 2001 From: mashiyu Date: Wed, 23 Jan 2019 10:38:13 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- conf/server/1.Map_101.txt | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 conf/server/1.Map_101.txt diff --git a/conf/server/1.Map_101.txt b/conf/server/1.Map_101.txt deleted file mode 100644 index 04d2194b5..000000000 --- a/conf/server/1.Map_101.txt +++ /dev/null @@ -1,24 +0,0 @@ -id Event Groups -int int mut,int#int,2 -1 101005 9#14|10#14|9#15|10#15 -2 101001 5#8|6#8|5#9|6#9 -3 101005 8#11|9#11|8#12|9#12 -4 101005 7#19|8#19|8#20 -5 101010 8#9 -6 101008 10#11 -7 101009 2#18 -8 101004 10#5|10#6 -9 101005 1#7|2#7|1#8|2#8 -10 101005 2#14|3#14|2#15|3#15 -11 101006 8#3 -12 101007 5#5 -13 101001 3#16|4#16|3#17|4#17 -14 101011 7#16 -15 101001 6#2|5#3|6#3 -16 101001 8#4|9#4|8#5|7#6|7#7 -17 101012 3#5|4#5|3#6|4#6 -18 101005 4#19|3#20 -19 101001 4#11|4#12 -20 101002 1#12|2#12|1#13|2#13|5#18|6#18|6#19 -21 101001 6#14|6#15 -22 101003 4#4 From 771ce8de896c74c339a020f7fa0efe72f10e9986 Mon Sep 17 00:00:00 2001 From: gaojie Date: Wed, 23 Jan 2019 10:41:10 +0800 Subject: [PATCH 4/4] fix --- .../com/ljsd/jieling/globals/GlobalGm.java | 5 ++- .../ljsd/jieling/globals/GlobalItemType.java | 2 +- .../handler/GameGM/GMRequestHandler.java | 14 ++++++- .../jieling/handler/GetAllItemHandler.java | 15 ++++--- .../network/server/ProtocolsManager.java | 10 ++--- .../com/ljsd/jieling/util/CBean2Proto.java | 3 -- .../java/com/ljsd/jieling/util/ItemUtil.java | 39 ++++++++++++++----- .../main/java/network/client/NettyClient.java | 16 ++++---- 8 files changed, 69 insertions(+), 35 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java index 2c5a3621b..3f393a7d2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java @@ -1,6 +1,7 @@ package com.ljsd.jieling.globals; public interface GlobalGm { - int ADD_ITEM = 0;//添加道具 - int ADD_CARD = 1; //添加卡牌 + int ADD_GEM = 0; // 添加钻石 + int ADD_ITEM = 1;//添加道具 + int ADD_CARD = 2; //添加卡牌 } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalItemType.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalItemType.java index 8d5a5d6f4..3fea6ea27 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalItemType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalItemType.java @@ -7,7 +7,7 @@ public interface GlobalItemType { int SUCCESSIVELY_RANDOM = 2; // 依次随机 // 物品类型 - int GEM = 1; // 钻石Id(充值获得) + int GEM = 3; // 钻石Id(充值获得) int ITEM = 10; //道具 int CARD = 11; // 卡牌 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java index 89043b173..538e1d174 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java @@ -10,6 +10,7 @@ import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.MessageTypeProto; import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.MessageUtil; +import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @@ -34,11 +35,20 @@ public class GMRequestHandler extends BaseHandler{ return; } String[] commandArray = command.split("#"); - int uid = Integer.parseInt(commandArray[0]); - int gmCommandType = Integer.parseInt(commandArray[1]);// type 0:添加道具 1:卡牌 + int uid = iSession.getUid(); + int gmCommandType = Integer.parseInt(commandArray[0]);// type 0:钻石(type#数量) 1:道具 2: 卡牌 int prarm1 = 0, prarm2 = 0; + if (gmCommandType == 0){ + prarm1 = Integer.parseInt(commandArray[1]); + }else if (gmCommandType == 1 || gmCommandType ==2){ + prarm1 = Integer.parseInt(commandArray[1]); + prarm2 = Integer.parseInt(commandArray[2]); + } User cUser = UserManager.getUser(uid); switch (gmCommandType){ + case GlobalGm.ADD_GEM: + cUser.getPlayerInfoManager().setGem(prarm1+cUser.getPlayerInfoManager().getGem()); + break; case GlobalGm.ADD_ITEM: giveItem(cUser,prarm1,prarm2); break; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java index 83b7595f6..1d453226c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetAllItemHandler.java @@ -33,13 +33,18 @@ public class GetAllItemHandler extends BaseHandler { int msgIndex = netData.getIndex(); PlayerInfoProto.GetItemInfoRequest getItemInfoRequest = PlayerInfoProto.GetItemInfoRequest.parseFrom(netData.parseClientProtoNetData()); - LOGGER.info("processMessage->uid={},token={},msgId={},msgIndex={},messageNum={},messageStr={}", - userId, token,msgId,msgIndex,getItemInfoRequest.getNum(),getItemInfoRequest.getStr()); - + LOGGER.info("processMessage->uid={},token={},msgId={},msgIndex={}", + userId, token,msgId,msgIndex); + int index = getItemInfoRequest.getIndex(); + boolean isSendFinish = true; User user = UserManager.getUserForLogin(userId); - List itemList = ItemUtil.getAllItem(user); + List allItemList = ItemUtil.getAllItem(user,index); + if (allItemList.size() > 200){ + isSendFinish = false; + } PlayerInfoProto.GetItemInfoResponse getItemInfoResponse = PlayerInfoProto.GetItemInfoResponse.newBuilder() - .addAllItemlist(itemList) + .addAllItemlist(allItemList) + .setIsSendFinish(isSendFinish) .build(); try { MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GET_ITEMINFO_RESPONSE_VALUE, getItemInfoResponse, true); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/network/server/ProtocolsManager.java b/serverlogic/src/main/java/com/ljsd/jieling/network/server/ProtocolsManager.java index 621465ec6..472de8d9b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/network/server/ProtocolsManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/network/server/ProtocolsManager.java @@ -266,11 +266,11 @@ public class ProtocolsManager implements ProtocolsAbstract { } - if (OnlineUserManager.checkUidOnline(session.getUid())){ - ISession iSession = OnlineUserManager.getSessionByUid(session.getUid()); - MessageUtil.sendErrorCode(session, ErrorCode.reloginCode); - iSession.close(); - } +// if (OnlineUserManager.checkUidOnline(session.getUid())){ +// ISession iSession = OnlineUserManager.getSessionByUid(session.getUid()); +// MessageUtil.sendErrorCode(session, ErrorCode.reloginCode); +// iSession.close(); +// } // if (myToken != packetNetData.getToken()){ // return 1; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java index a23c82794..4d397d65e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java @@ -19,9 +19,6 @@ public class CBean2Proto { .setVipLevel(playerManager.getVipLevel()) .setFamilyId(playerManager.getFamilyId()) .setHead(playerManager.getHead()) - .setGold(playerManager.getGold()) - .setGem(playerManager.getGem()) - .setChargeGem(playerManager.getChargeGem()) .build(); return player; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java index bf983833a..3977e9790 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -9,10 +9,7 @@ import com.ljsd.jieling.protocols.CommonProto; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.CopyOnWriteArrayList; public class ItemUtil { @@ -132,10 +129,10 @@ public class ItemUtil { List itemProtoList = new CopyOnWriteArrayList<>(); ItemManager itemManager = user.getItemManager(); for (Map.Entry entry : itemMap.entrySet()) { - SItem sItem = SItem.getsItemMap().get(entry.getKey()); - if (sItem == null){ - continue; - } + SItem sItem = SItem.getsItemMap().get (entry.getKey()); +// if (sItem == null){ +// continue; +// } Item item = itemManager.getItem(entry.getKey()); if (item == null){ item = itemManager.newItem(entry.getKey(), entry.getValue()); @@ -173,7 +170,7 @@ public class ItemUtil { } - public static List getAllItem(User user){ + public static List getAllItem(User user,int index){ List itemList = new ArrayList<>(); ItemManager itemManager = user.getItemManager(); Map itemMap = itemManager.getItemMap(); @@ -182,9 +179,32 @@ public class ItemUtil { itemList.add(CBean2Proto.getItem(entry.getValue())); } } + listByPage(itemList,index); return itemList; } + private static void listByPage(List itemList,int pagesize) { + int totalcount=itemList.size(); + int pagecount=0; + int m=totalcount%pagesize; + if (m>0){ + pagecount=totalcount/pagesize+1; + }else{ + pagecount=totalcount/pagesize; + } + for(int i=1;i<=pagecount;i++){ + if (m==0){ + itemList = itemList.subList((i-1)*pagesize,pagesize*(i)); + }else{ + if (i==pagecount){ + itemList= itemList.subList((i-1)*pagesize,totalcount); + }else{ + itemList= itemList.subList((i-1)*pagesize,pagesize*(i)); + } + } + } + } + public static void addCard(User user,Map cardMap,CommonProto.Drop.Builder dropBuilder) throws Exception { List heroList = new CopyOnWriteArrayList<>(); @@ -278,5 +298,4 @@ public class ItemUtil { } } } - } diff --git a/test/src/main/java/network/client/NettyClient.java b/test/src/main/java/network/client/NettyClient.java index 160c355dd..4999100e8 100644 --- a/test/src/main/java/network/client/NettyClient.java +++ b/test/src/main/java/network/client/NettyClient.java @@ -18,7 +18,7 @@ public class NettyClient { private static final Logger LOGGER = LoggerFactory.getLogger(NettyClient.class); - private static int uid = 10000009; + private static int uid = 10000018; private static int msgIndex = 1; private static int token=543242; @@ -32,7 +32,7 @@ public class NettyClient { .channel(NioSocketChannel.class) .handler(new NettyTCPClientInitializer()); - Channel ch = b.connect("127.0.0.1",18090).sync().channel(); + Channel ch = b.connect("127.0.0.1",16080).sync().channel(); NettyTCPClientHandler handler = ch.pipeline().get(NettyTCPClientHandler.class); //------------------------------------------测试类型------------------------------------------------------- @@ -42,9 +42,11 @@ public class NettyClient { //--------------------------------------------------------------------------------------------------------- handler.sendRequest_jieling(makeFinalMessage(gameMessage, MessageTypeProto.MessageType.LOGIN_REQUEST_VALUE)); - handler.sendRequest_jieling(makeFinalMessage(getHero(), MessageTypeProto.MessageType.GET_HEROINFO_REQUEST_VALUE)); - handler.sendRequest_jieling(makeFinalMessage(getRandomHero(), MessageTypeProto.MessageType.HERO_RAND_REQQUEST_VALUE)); - handler.sendRequest_jieling(makeFinalMessage(gmRequest(), MessageTypeProto.MessageType.GM_REQUEST_VALUE)); +// handler.sendRequest_jieling(makeFinalMessage(getHero(), MessageTypeProto.MessageType.GET_HEROINFO_REQUEST_VALUE)); +// handler.sendRequest_jieling(makeFinalMessage(getRandomHero(), MessageTypeProto.MessageType.HERO_RAND_REQQUEST_VALUE)); + for (int i = 800; i< 900;i++){ + handler.sendRequest_jieling(makeFinalMessage(gmRequest(i), MessageTypeProto.MessageType.GM_REQUEST_VALUE)); + } } @@ -70,8 +72,8 @@ public class NettyClient { return finalData; } - public static CommonProto.GMCommand gmRequest(){ - return CommonProto.GMCommand.newBuilder().setCommand("10000001#0#1#100").build(); + public static CommonProto.GMCommand gmRequest(int itemId){ + return CommonProto.GMCommand.newBuilder().setCommand("1#"+itemId+"#10000").build(); }