mirror of
https://github.com/2revoemag/PSF-BotServer.git
synced 2026-01-20 02:24:45 +00:00
Add input argument for listen address
This commit is contained in:
parent
3fca8b1a95
commit
3ccb31f961
6
pslogin/src/main/scala/LoginConfig.scala
Normal file
6
pslogin/src/main/scala/LoginConfig.scala
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
// Copyright (c) 2016 PSForever.net to present
|
||||
import java.net.InetAddress
|
||||
|
||||
object LoginConfig {
|
||||
var serverIpAddress : InetAddress = InetAddress.getLoopbackAddress
|
||||
}
|
||||
|
|
@ -89,8 +89,9 @@ class LoginSessionActor extends Actor with MDCContextAware {
|
|||
}
|
||||
}
|
||||
|
||||
// TODO: move to global configuration or database lookup
|
||||
val serverName = "PSForever"
|
||||
val serverAddress = new InetSocketAddress(InetAddress.getLocalHost.getHostAddress, 51001)
|
||||
val serverAddress = new InetSocketAddress(LoginConfig.serverIpAddress.getHostAddress, 51001)
|
||||
|
||||
def handleGamePkt(pkt : PlanetSideGamePacket) = pkt match {
|
||||
case LoginMessage(majorVersion, minorVersion, buildDate, username,
|
||||
|
|
|
|||
|
|
@ -84,12 +84,22 @@ object PsLogin {
|
|||
}
|
||||
}
|
||||
|
||||
def parseArgs(args : Array[String]) : Unit = {
|
||||
if(args.length == 1) {
|
||||
LoginConfig.serverIpAddress = InetAddress.getByName(args{0})
|
||||
}
|
||||
else {
|
||||
LoginConfig.serverIpAddress = InetAddress.getLocalHost
|
||||
}
|
||||
}
|
||||
|
||||
def main(args : Array[String]) : Unit = {
|
||||
// Early start up
|
||||
banner()
|
||||
println(systemInformation)
|
||||
|
||||
initializeLogging("logback.xml")
|
||||
parseArgs(args)
|
||||
|
||||
/** Initialize the PSCrypto native library
|
||||
*
|
||||
|
|
@ -149,11 +159,11 @@ object PsLogin {
|
|||
|
||||
/** Create two actors for handling the login and world server endpoints */
|
||||
val listener = system.actorOf(Props(new UdpListener(Props(new SessionRouter(loginTemplate)), "login-session-router",
|
||||
InetAddress.getLocalHost, loginServerPort)), "login-udp-endpoint")
|
||||
LoginConfig.serverIpAddress, loginServerPort)), "login-udp-endpoint")
|
||||
val worldListener = system.actorOf(Props(new UdpListener(Props(new SessionRouter(worldTemplate)), "world-session-router",
|
||||
InetAddress.getLocalHost, worldServerPort)), "world-udp-endpoint")
|
||||
LoginConfig.serverIpAddress, worldServerPort)), "world-udp-endpoint")
|
||||
|
||||
logger.info(s"NOTE: Set client.ini to point to ${InetAddress.getLocalHost.getHostAddress}:$loginServerPort")
|
||||
logger.info(s"NOTE: Set client.ini to point to ${LoginConfig.serverIpAddress.getHostAddress}:$loginServerPort")
|
||||
|
||||
// Wait forever until the actor system shuts down
|
||||
Await.result(system.whenTerminated, Duration.Inf)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// Copyright (c) 2016 PSForever.net to present
|
||||
import java.net.{InetAddress, InetSocketAddress}
|
||||
|
||||
import akka.actor.SupervisorStrategy.{Restart, Stop}
|
||||
import akka.actor.SupervisorStrategy.Stop
|
||||
import akka.actor.{Actor, ActorRef, OneForOneStrategy, Props, Terminated}
|
||||
import akka.io._
|
||||
import scodec.bits._
|
||||
|
|
@ -34,6 +34,9 @@ class UdpListener(nextActorProps : Props, nextActorName : String, address : Inet
|
|||
createNextActor()
|
||||
|
||||
context.become(ready(sender()))
|
||||
case Udp.CommandFailed(Udp.Bind(_, address, _)) =>
|
||||
log.error("Failed to bind to the network interface: " + address)
|
||||
context.system.terminate()
|
||||
case default =>
|
||||
log.error(s"Unexpected message $default")
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue