Sync
This commit is contained in:
@@ -1,11 +1,7 @@
|
||||
package cc.maxmc.msm.common.network.netty
|
||||
|
||||
import cc.maxmc.msm.common.network.BungeePacket
|
||||
import cc.maxmc.msm.common.network.packet.CPacketAPICallback
|
||||
import cc.maxmc.msm.common.network.packet.CPacketDebug
|
||||
import cc.maxmc.msm.common.network.packet.PPacketAPICall
|
||||
import cc.maxmc.msm.common.network.packet.PPacketDebug
|
||||
import cc.maxmc.msm.common.utils.debug
|
||||
import cc.maxmc.msm.common.network.packet.*
|
||||
import com.google.common.collect.HashBiMap
|
||||
|
||||
object NetworkRegistry {
|
||||
@@ -18,11 +14,16 @@ object NetworkRegistry {
|
||||
registerPacket(PacketDirection.PARENT_BOUND, PPacketAPICall.PPacketCallContainPlayer::class.java)
|
||||
registerPacket(PacketDirection.PARENT_BOUND, PPacketAPICall.PPacketCallInformEnd::class.java)
|
||||
registerPacket(PacketDirection.PARENT_BOUND, PPacketAPICall.PPacketCallGetServer::class.java)
|
||||
registerPacket(PacketDirection.PARENT_BOUND, PPacketServerStarted::class.java)
|
||||
registerPacket(PacketDirection.PARENT_BOUND, PPacketChildInfo::class.java)
|
||||
registerPacket(PacketDirection.CHILD_BOUND, CPacketDebug::class.java)
|
||||
registerPacket(PacketDirection.CHILD_BOUND, CPacketAPICallback.CPacketCallbackGetPlayerServer::class.java)
|
||||
registerPacket(PacketDirection.CHILD_BOUND, CPacketAPICallback.CPacketCallbackContainPlayer::class.java)
|
||||
registerPacket(PacketDirection.CHILD_BOUND, CPacketAPICallback.CPacketCallbackInformEnd::class.java)
|
||||
registerPacket(PacketDirection.CHILD_BOUND, CPacketAPICallback.CPacketCallbackGetServer::class.java)
|
||||
registerPacket(PacketDirection.CHILD_BOUND, CPacketRequestServer::class.java)
|
||||
registerPacket(PacketDirection.CHILD_BOUND, CPacketGetInfo::class.java)
|
||||
|
||||
}
|
||||
|
||||
private fun registerPacket(direction: PacketDirection, packet: Class<out BungeePacket>) {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package cc.maxmc.msm.common.network.packet
|
||||
|
||||
import cc.maxmc.msm.api.misc.ServerInfo
|
||||
import cc.maxmc.msm.api.misc.MatchInfo
|
||||
import cc.maxmc.msm.common.network.BungeePacket
|
||||
import cc.maxmc.msm.common.utils.readServerInfo
|
||||
import cc.maxmc.msm.common.utils.writeServerInfo
|
||||
import cc.maxmc.msm.common.utils.readMatchInfo
|
||||
import cc.maxmc.msm.common.utils.writeMatchInfo
|
||||
import io.netty.buffer.ByteBuf
|
||||
import net.md_5.bungee.protocol.DefinedPacket
|
||||
import java.util.*
|
||||
@@ -20,17 +20,16 @@ sealed class CPacketAPICallback(
|
||||
}
|
||||
|
||||
class CPacketCallbackGetServer(
|
||||
var serverInfo: ServerInfo = ServerInfo(),
|
||||
uid: UUID = UUID.randomUUID()
|
||||
var matchInfo: MatchInfo = MatchInfo(), uid: UUID = UUID.randomUUID()
|
||||
) : CPacketAPICallback(uid = uid) {
|
||||
override fun encode(buf: ByteBuf) {
|
||||
super.encode(buf)
|
||||
buf.writeServerInfo(serverInfo)
|
||||
buf.writeMatchInfo(matchInfo)
|
||||
}
|
||||
|
||||
override fun decode(buf: ByteBuf) {
|
||||
super.decode(buf)
|
||||
serverInfo = buf.readServerInfo()
|
||||
matchInfo = buf.readMatchInfo()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,23 +38,21 @@ sealed class CPacketAPICallback(
|
||||
) : CPacketAPICallback(uid = uid)
|
||||
|
||||
class CPacketCallbackGetPlayerServer(
|
||||
var serverInfo: ServerInfo,
|
||||
uid: UUID = UUID.randomUUID()
|
||||
var matchInfo: MatchInfo, uid: UUID = UUID.randomUUID()
|
||||
) : CPacketAPICallback(uid = uid) {
|
||||
override fun encode(buf: ByteBuf) {
|
||||
super.encode(buf)
|
||||
buf.writeServerInfo(serverInfo)
|
||||
buf.writeMatchInfo(matchInfo)
|
||||
}
|
||||
|
||||
override fun decode(buf: ByteBuf) {
|
||||
super.decode(buf)
|
||||
serverInfo = buf.readServerInfo()
|
||||
matchInfo = buf.readMatchInfo()
|
||||
}
|
||||
}
|
||||
|
||||
class CPacketCallbackContainPlayer(
|
||||
var value: Boolean,
|
||||
uid: UUID = UUID.randomUUID()
|
||||
var value: Boolean, uid: UUID = UUID.randomUUID()
|
||||
) : CPacketAPICallback(uid = uid) {
|
||||
override fun encode(buf: ByteBuf) {
|
||||
super.encode(buf)
|
||||
|
||||
@@ -1,21 +1,23 @@
|
||||
package cc.maxmc.msm.common.network.packet
|
||||
|
||||
import cc.maxmc.msm.api.misc.ServerInfo
|
||||
import cc.maxmc.msm.common.network.BungeePacket
|
||||
import cc.maxmc.msm.common.utils.readServerInfo
|
||||
import cc.maxmc.msm.common.utils.writeServerInfo
|
||||
import io.netty.buffer.ByteBuf
|
||||
import net.md_5.bungee.protocol.DefinedPacket
|
||||
import java.util.*
|
||||
|
||||
class CPacketRequestServer(
|
||||
var type: String,
|
||||
var uid: UUID = UUID.randomUUID()
|
||||
var type: String = "",
|
||||
var serverInfo: ServerInfo = ServerInfo(),
|
||||
) : BungeePacket() {
|
||||
override fun encode(buf: ByteBuf) {
|
||||
DefinedPacket.writeUUID(uid, buf)
|
||||
DefinedPacket.writeString(type, buf)
|
||||
buf.writeServerInfo(serverInfo)
|
||||
}
|
||||
|
||||
override fun decode(buf: ByteBuf) {
|
||||
uid = DefinedPacket.readUUID(buf)
|
||||
type = DefinedPacket.readString(buf)
|
||||
serverInfo = buf.readServerInfo()
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,8 @@ import cc.maxmc.msm.common.network.BungeePacket
|
||||
import io.netty.buffer.ByteBuf
|
||||
import net.md_5.bungee.protocol.DefinedPacket
|
||||
|
||||
class PPacketChildInfo(var portRange: MutableSet<Int> = HashSet(), var types: MutableSet<String>) : BungeePacket() {
|
||||
class PPacketChildInfo(var portRange: MutableSet<Int> = HashSet(), var types: MutableSet<String> = HashSet()) :
|
||||
BungeePacket() {
|
||||
override fun encode(buf: ByteBuf) {
|
||||
DefinedPacket.writeVarInt(portRange.size, buf)
|
||||
portRange.forEach {
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package cc.maxmc.msm.common.network.packet
|
||||
|
||||
import cc.maxmc.msm.api.misc.ServerInfo
|
||||
import cc.maxmc.msm.common.network.BungeePacket
|
||||
import cc.maxmc.msm.common.utils.readServerInfo
|
||||
import cc.maxmc.msm.common.utils.writeServerInfo
|
||||
import io.netty.buffer.ByteBuf
|
||||
|
||||
class PPacketServerStarted(
|
||||
var serverInfo: ServerInfo = ServerInfo()
|
||||
) : BungeePacket() {
|
||||
override fun encode(buf: ByteBuf) {
|
||||
buf.writeServerInfo(serverInfo)
|
||||
}
|
||||
|
||||
override fun decode(buf: ByteBuf) {
|
||||
serverInfo = buf.readServerInfo()
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
package cc.maxmc.msm.common.utils
|
||||
|
||||
import cc.maxmc.msm.api.misc.MatchInfo
|
||||
import cc.maxmc.msm.api.misc.ServerInfo
|
||||
import cc.maxmc.msm.common.network.ClusterPacketHandler
|
||||
import cc.maxmc.msm.common.network.netty.ClusterMsgCodec
|
||||
import cc.maxmc.msm.common.network.netty.NetworkRegistry
|
||||
import com.google.common.net.HostAndPort
|
||||
import io.netty.buffer.ByteBuf
|
||||
import io.netty.channel.Channel
|
||||
import io.netty.channel.ChannelInitializer
|
||||
@@ -27,15 +27,25 @@ fun pipelineInit(direction: NetworkRegistry.PacketDirection) = channelInit<Socke
|
||||
}
|
||||
|
||||
fun ByteBuf.writeServerInfo(info: ServerInfo) {
|
||||
DefinedPacket.writeUUID(info.uid, this)
|
||||
DefinedPacket.writeString(info.server.toString(), this)
|
||||
DefinedPacket.writeVarInt(info.id, this)
|
||||
}
|
||||
|
||||
fun ByteBuf.readServerInfo(): ServerInfo {
|
||||
val uid = DefinedPacket.readUUID(this)
|
||||
val hap = DefinedPacket.readString(this)
|
||||
val id = DefinedPacket.readVarInt(this)
|
||||
return ServerInfo(
|
||||
HostAndPort.fromString(hap),
|
||||
id
|
||||
uid, hap
|
||||
)
|
||||
}
|
||||
|
||||
fun ByteBuf.writeMatchInfo(match: MatchInfo) {
|
||||
DefinedPacket.writeVarInt(match.id, this)
|
||||
writeServerInfo(match.server)
|
||||
}
|
||||
|
||||
fun ByteBuf.readMatchInfo(): MatchInfo {
|
||||
val id = DefinedPacket.readVarInt(this)
|
||||
val server = readServerInfo()
|
||||
return MatchInfo(id, server)
|
||||
}
|
||||
Reference in New Issue
Block a user