mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-07-14 16:04:41 +00:00
commit
c6347a7845
1 changed files with 19 additions and 1 deletions
|
|
@ -22,7 +22,7 @@ import net.psforever.objects.Default
|
||||||
import net.psforever.packet._
|
import net.psforever.packet._
|
||||||
import net.psforever.packet.control._
|
import net.psforever.packet.control._
|
||||||
import net.psforever.packet.crypto.{ClientChallengeXchg, ClientFinished, ServerChallengeXchg, ServerFinished}
|
import net.psforever.packet.crypto.{ClientChallengeXchg, ClientFinished, ServerChallengeXchg, ServerFinished}
|
||||||
import net.psforever.packet.game.{ChangeFireModeMessage, CharacterInfoMessage, KeepAliveMessage, PingMsg}
|
import net.psforever.packet.game._
|
||||||
import net.psforever.packet.PacketCoding.CryptoCoding
|
import net.psforever.packet.PacketCoding.CryptoCoding
|
||||||
import net.psforever.util.{Config, DiffieHellman, Md5Mac}
|
import net.psforever.util.{Config, DiffieHellman, Md5Mac}
|
||||||
|
|
||||||
|
|
@ -89,6 +89,16 @@ object MiddlewareActor {
|
||||||
/** Send outgoing packet */
|
/** Send outgoing packet */
|
||||||
final case class Send(msg: PlanetSidePacket) extends Command
|
final case class Send(msg: PlanetSidePacket) extends Command
|
||||||
|
|
||||||
|
/** Send outgoing packet as its hexadecimal directly */
|
||||||
|
final case class Raw(msg: BitVector, exclusive: Boolean) extends Command
|
||||||
|
object Raw {
|
||||||
|
def apply(msg: BitVector): Raw = Raw(msg, exclusive = false)
|
||||||
|
|
||||||
|
def apply(msg: ByteVector): Raw = Raw(msg.toBitVector, exclusive = false)
|
||||||
|
|
||||||
|
def apply(msg: ByteVector, exclusive: Boolean): Raw = Raw(msg, exclusive)
|
||||||
|
}
|
||||||
|
|
||||||
/** Teardown connection */
|
/** Teardown connection */
|
||||||
final case class Teardown() extends Command
|
final case class Teardown() extends Command
|
||||||
|
|
||||||
|
|
@ -442,6 +452,14 @@ class MiddlewareActor(
|
||||||
out(packet)
|
out(packet)
|
||||||
Behaviors.same
|
Behaviors.same
|
||||||
|
|
||||||
|
case Raw(msg, exclusive) =>
|
||||||
|
if (exclusive) {
|
||||||
|
outQueue.enqueue((KeepAliveMessage(), msg)) //caught by bundling isolation filter
|
||||||
|
} else {
|
||||||
|
outQueue.enqueue((ActionResultMessage.Pass, msg))
|
||||||
|
}
|
||||||
|
Behaviors.same
|
||||||
|
|
||||||
case ProcessQueue() =>
|
case ProcessQueue() =>
|
||||||
processQueue()
|
processQueue()
|
||||||
Behaviors.same
|
Behaviors.same
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue