mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-19 10:24:47 +01:00
Renamed all references to a certain game
This commit is contained in:
@@ -5,12 +5,12 @@ import java.time.OffsetDateTime;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import emu.grasscutter.GenshinConstants;
|
||||
import emu.grasscutter.GameConstants;
|
||||
import emu.grasscutter.Grasscutter;
|
||||
import emu.grasscutter.command.CommandMap;
|
||||
import emu.grasscutter.database.DatabaseHelper;
|
||||
import emu.grasscutter.game.Account;
|
||||
import emu.grasscutter.game.GenshinPlayer;
|
||||
import emu.grasscutter.game.Player;
|
||||
import emu.grasscutter.game.World;
|
||||
import emu.grasscutter.game.dungeons.DungeonManager;
|
||||
import emu.grasscutter.game.gacha.GachaManager;
|
||||
@@ -20,18 +20,18 @@ import emu.grasscutter.game.managers.MultiplayerManager;
|
||||
import emu.grasscutter.game.shop.ShopManager;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
import emu.grasscutter.net.proto.SocialDetailOuterClass.SocialDetail;
|
||||
import emu.grasscutter.netty.MihoyoKcpServer;
|
||||
import emu.grasscutter.netty.KcpServer;
|
||||
import emu.grasscutter.server.event.ServerEvent;
|
||||
import emu.grasscutter.server.event.game.ServerTickEvent;
|
||||
import emu.grasscutter.server.event.internal.ServerStartEvent;
|
||||
import emu.grasscutter.server.event.internal.ServerStopEvent;
|
||||
import emu.grasscutter.task.TaskMap;
|
||||
|
||||
public final class GameServer extends MihoyoKcpServer {
|
||||
public final class GameServer extends KcpServer {
|
||||
private final InetSocketAddress address;
|
||||
private final GameServerPacketHandler packetHandler;
|
||||
|
||||
private final Map<Integer, GenshinPlayer> players;
|
||||
private final Map<Integer, Player> players;
|
||||
private final Set<World> worlds;
|
||||
|
||||
private final ChatManager chatManager;
|
||||
@@ -82,7 +82,7 @@ public final class GameServer extends MihoyoKcpServer {
|
||||
return packetHandler;
|
||||
}
|
||||
|
||||
public Map<Integer, GenshinPlayer> getPlayers() {
|
||||
public Map<Integer, Player> getPlayers() {
|
||||
return players;
|
||||
}
|
||||
|
||||
@@ -122,22 +122,22 @@ public final class GameServer extends MihoyoKcpServer {
|
||||
return this.taskMap;
|
||||
}
|
||||
|
||||
public void registerPlayer(GenshinPlayer player) {
|
||||
public void registerPlayer(Player player) {
|
||||
getPlayers().put(player.getUid(), player);
|
||||
}
|
||||
|
||||
public GenshinPlayer getPlayerByUid(int id) {
|
||||
public Player getPlayerByUid(int id) {
|
||||
return this.getPlayerByUid(id, false);
|
||||
}
|
||||
|
||||
public GenshinPlayer getPlayerByUid(int id, boolean allowOfflinePlayers) {
|
||||
public Player getPlayerByUid(int id, boolean allowOfflinePlayers) {
|
||||
// Console check
|
||||
if (id == GenshinConstants.SERVER_CONSOLE_UID) {
|
||||
if (id == GameConstants.SERVER_CONSOLE_UID) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Get from online players
|
||||
GenshinPlayer player = this.getPlayers().get(id);
|
||||
Player player = this.getPlayers().get(id);
|
||||
|
||||
if (!allowOfflinePlayers) {
|
||||
return player;
|
||||
@@ -153,7 +153,7 @@ public final class GameServer extends MihoyoKcpServer {
|
||||
|
||||
public SocialDetail.Builder getSocialDetailByUid(int id) {
|
||||
// Get from online players
|
||||
GenshinPlayer player = this.getPlayerByUid(id, true);
|
||||
Player player = this.getPlayerByUid(id, true);
|
||||
|
||||
if (player == null) {
|
||||
return null;
|
||||
@@ -163,7 +163,7 @@ public final class GameServer extends MihoyoKcpServer {
|
||||
}
|
||||
|
||||
public Account getAccountByName(String username) {
|
||||
Optional<GenshinPlayer> playerOpt = getPlayers().values().stream().filter(player -> player.getAccount().getUsername().equals(username)).findFirst();
|
||||
Optional<Player> playerOpt = getPlayers().values().stream().filter(player -> player.getAccount().getUsername().equals(username)).findFirst();
|
||||
if (playerOpt.isPresent()) {
|
||||
return playerOpt.get().getAccount();
|
||||
}
|
||||
@@ -204,10 +204,10 @@ public final class GameServer extends MihoyoKcpServer {
|
||||
ServerStopEvent event = new ServerStopEvent(ServerEvent.Type.GAME, OffsetDateTime.now()); event.call();
|
||||
|
||||
// Kick and save all players
|
||||
List<GenshinPlayer> list = new ArrayList<>(this.getPlayers().size());
|
||||
List<Player> list = new ArrayList<>(this.getPlayers().size());
|
||||
list.addAll(this.getPlayers().values());
|
||||
|
||||
for (GenshinPlayer player : list) {
|
||||
for (Player player : list) {
|
||||
player.getSession().close();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package emu.grasscutter.server.game;
|
||||
|
||||
import emu.grasscutter.netty.MihoyoKcpServerInitializer;
|
||||
import emu.grasscutter.netty.KcpServerInitializer;
|
||||
import io.jpower.kcp.netty.UkcpChannel;
|
||||
import io.netty.channel.ChannelPipeline;
|
||||
|
||||
public class GameServerInitializer extends MihoyoKcpServerInitializer {
|
||||
public class GameServerInitializer extends KcpServerInitializer {
|
||||
private GameServer server;
|
||||
|
||||
public GameServerInitializer(GameServer server) {
|
||||
|
||||
@@ -8,11 +8,11 @@ import java.util.Set;
|
||||
|
||||
import emu.grasscutter.Grasscutter;
|
||||
import emu.grasscutter.game.Account;
|
||||
import emu.grasscutter.game.GenshinPlayer;
|
||||
import emu.grasscutter.net.packet.GenshinPacket;
|
||||
import emu.grasscutter.game.Player;
|
||||
import emu.grasscutter.net.packet.BasePacket;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.packet.PacketOpcodesUtil;
|
||||
import emu.grasscutter.netty.MihoyoKcpChannel;
|
||||
import emu.grasscutter.netty.KcpChannel;
|
||||
import emu.grasscutter.server.event.game.SendPacketEvent;
|
||||
import emu.grasscutter.utils.Crypto;
|
||||
import emu.grasscutter.utils.FileUtils;
|
||||
@@ -21,11 +21,11 @@ import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
|
||||
public class GameSession extends MihoyoKcpChannel {
|
||||
public class GameSession extends KcpChannel {
|
||||
private GameServer server;
|
||||
|
||||
private Account account;
|
||||
private GenshinPlayer player;
|
||||
private Player player;
|
||||
|
||||
private boolean useSecretKey;
|
||||
private SessionState state;
|
||||
@@ -67,11 +67,11 @@ public class GameSession extends MihoyoKcpChannel {
|
||||
return this.getAccount().getId();
|
||||
}
|
||||
|
||||
public GenshinPlayer getPlayer() {
|
||||
public Player getPlayer() {
|
||||
return player;
|
||||
}
|
||||
|
||||
public synchronized void setPlayer(GenshinPlayer player) {
|
||||
public synchronized void setPlayer(Player player) {
|
||||
this.player = player;
|
||||
this.player.setSession(this);
|
||||
this.player.setAccount(this.getAccount());
|
||||
@@ -144,43 +144,35 @@ public class GameSession extends MihoyoKcpChannel {
|
||||
|
||||
byte[] packet = FileUtils.read(p);
|
||||
|
||||
GenshinPacket genshinPacket = new GenshinPacket(opcode);
|
||||
genshinPacket.setData(packet);
|
||||
BasePacket basePacket = new BasePacket(opcode);
|
||||
basePacket.setData(packet);
|
||||
|
||||
// Log
|
||||
logPacket(genshinPacket.getOpcode());
|
||||
|
||||
send(genshinPacket);
|
||||
send(basePacket);
|
||||
}
|
||||
|
||||
public void send(GenshinPacket genshinPacket) {
|
||||
public void send(BasePacket packet) {
|
||||
// Test
|
||||
if (genshinPacket.getOpcode() <= 0) {
|
||||
if (packet.getOpcode() <= 0) {
|
||||
Grasscutter.getLogger().warn("Tried to send packet with missing cmd id!");
|
||||
return;
|
||||
}
|
||||
|
||||
// Header
|
||||
if (genshinPacket.shouldBuildHeader()) {
|
||||
genshinPacket.buildHeader(this.getNextClientSequence());
|
||||
if (packet.shouldBuildHeader()) {
|
||||
packet.buildHeader(this.getNextClientSequence());
|
||||
}
|
||||
|
||||
// Log
|
||||
if (Grasscutter.getConfig().getGameServerOptions().LOG_PACKETS) {
|
||||
logPacket(genshinPacket);
|
||||
logPacket(packet);
|
||||
}
|
||||
|
||||
// Invoke event.
|
||||
SendPacketEvent event = new SendPacketEvent(this, genshinPacket); event.call();
|
||||
SendPacketEvent event = new SendPacketEvent(this, packet); event.call();
|
||||
if(!event.isCanceled()) // If event is not cancelled, continue.
|
||||
this.send(event.getPacket().build());
|
||||
}
|
||||
|
||||
private void logPacket(int opcode) {
|
||||
//Grasscutter.getLogger().info("SEND: " + PacketOpcodesUtil.getOpcodeName(opcode));
|
||||
//System.out.println(Utils.bytesToHex(genshinPacket.getData()));
|
||||
}
|
||||
|
||||
private static final Set<Integer> loopPacket = Set.of(
|
||||
PacketOpcodes.PingReq,
|
||||
PacketOpcodes.PingRsp,
|
||||
@@ -189,10 +181,10 @@ public class GameSession extends MihoyoKcpChannel {
|
||||
PacketOpcodes.QueryPathReq
|
||||
);
|
||||
|
||||
private void logPacket(GenshinPacket genshinPacket) {
|
||||
if (!loopPacket.contains(genshinPacket.getOpcode())) {
|
||||
Grasscutter.getLogger().info("SEND: " + PacketOpcodesUtil.getOpcodeName(genshinPacket.getOpcode()) + " (" + genshinPacket.getOpcode() + ")");
|
||||
System.out.println(Utils.bytesToHex(genshinPacket.getData()));
|
||||
private void logPacket(BasePacket packet) {
|
||||
if (!loopPacket.contains(packet.getOpcode())) {
|
||||
Grasscutter.getLogger().info("SEND: " + PacketOpcodesUtil.getOpcodeName(packet.getOpcode()) + " (" + packet.getOpcode() + ")");
|
||||
System.out.println(Utils.bytesToHex(packet.getData()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user