Remove scroller and parametize UDP listener

This commit is contained in:
Chord 2016-05-05 11:36:28 -04:00
parent cdf240cf66
commit 10f54b7980
3 changed files with 8 additions and 39 deletions

View file

@ -106,51 +106,18 @@ class LoginSessionActor extends Actor with MDCContextAware {
case default => log.debug(s"Unhandled GamePacket ${pkt}")
}
val scrollerWindow = 20
val scrollerText = "PSForever_The_next_generation_of_PlanetSide_Hey_what_a_neat_scroller!"
var scrollerOffset = 0
val serverName = "PSForever"
def updateServerList = {
val start = scrollerOffset % scrollerText.length
var end = (scrollerOffset+scrollerWindow) % scrollerText.length
var finalName = ""
if(end < start)
finalName = scrollerText.substring(start, scrollerText.length) + ";" + scrollerText.substring(0, end)
else
finalName = scrollerText.substring(start, end)
scrollerOffset += 1
//println(finalName)
val msg = VNLWorldStatusMessage("Welcome to PlanetSide! ",
Vector(
WorldInformation(finalName, WorldStatus.Up, ServerType.Development,
WorldInformation(serverName, WorldStatus.Up, ServerType.Development,
Vector(WorldConnectionInfo(new InetSocketAddress(InetAddress.getByName("127.0.0.1"), 51000))), EmpireNeed.TR)
))
sendResponse(PacketCoding.CreateGamePacket(0, msg))
}
/*
val packet = LoginRespMessage("AAAABBBBCCCCDDDD",
hex"00000000 18FABE0C 00000000 00000000",
0, 1, 2, 685276011,
"AAAAAAAA", 0, false
)
sendResponse(PacketCoding.CreateGamePacket(0, packet))
val msg = VNLWorldStatusMessage("Welcome to PlanetSide! ",
Vector(
WorldInformation("PSForever", WorldStatus.Up, ServerType.Development,
Vector(WorldConnectionInfo(new InetSocketAddress(InetAddress.getByName("127.0.0.1"), 51000))), EmpireNeed.TR)
))
sendResponse(PacketCoding.CreateGamePacket(0, msg))
*/
def failWithError(error : String) = {
log.error(error)
//sendResponse(PacketCoding.CreateControlPacket(ConnectionClose()))

View file

@ -1,4 +1,6 @@
// Copyright (c) 2016 PSForever.net to present
import java.net.InetAddress
import akka.actor.{ActorSystem, Props}
import ch.qos.logback.classic.LoggerContext
import ch.qos.logback.core.status._
@ -63,6 +65,6 @@ object PsLogin {
//val system = ActorSystem("PsLogin", Some(ConfigFactory.parseMap(config)), None, Some(MDCPropagatingExecutionContextWrapper(ExecutionContext.Implicits.global)))
val system = ActorSystem("PsLogin", ConfigFactory.parseMap(config))
val session = system.actorOf(Props[SessionRouter], "session-router")
val listener = system.actorOf(Props(new UdpListener(session)), "udp-listener")
val listener = system.actorOf(Props(new UdpListener(session, InetAddress.getLocalHost, 51000)), "login-udp-endpoint")
}
}

View file

@ -11,11 +11,11 @@ final case class SendPacket(msg : ByteVector, to : InetSocketAddress)
final case class Hello()
final case class HelloFriend(next: ActorRef)
class UdpListener(nextActor: ActorRef) extends Actor {
class UdpListener(nextActor: ActorRef, address : InetAddress, port : Int) extends Actor {
private val logger = org.log4s.getLogger
import context.system
IO(Udp) ! Udp.Bind(self, new InetSocketAddress(InetAddress.getLocalHost, 51000))
IO(Udp) ! Udp.Bind(self, new InetSocketAddress(address, port))
var bytesRecevied = 0L
var bytesSent = 0L
@ -37,6 +37,6 @@ class UdpListener(nextActor: ActorRef) extends Actor {
nextActor ! ReceivedPacket(data.toByteVector, remote)
case Udp.Unbind => socket ! Udp.Unbind
case Udp.Unbound => context.stop(self)
case x : Any => logger.error("Unhandled message: " + x.toString)
case default => logger.error(s"Unhandled message: $default")
}
}