Map performance critical actors to dedicated dispatchers

Using built-in akka configs, we are able to map Actors to dispatchers in
a fine-grained way. Now each session router, network listener, and zone
have a dedicated set of threads. Currently all WorldSessions are sharing
a single worker pool, which means that the server could still crash if
all worker threads are exhausted. To prevent conditions like these, the
amount of time spent on single actors based on time and number of
messages can be tuned.Threads when not receiving work exit to save
resources.

Also all .conf files are now included in the resource packing process.
Users should create user.conf to override these .conf files to avoid
losing edits when updating the server version.
This commit is contained in:
Chord 2020-05-12 07:11:12 +02:00
parent fbca774a37
commit a80e869fb9
4 changed files with 781 additions and 15 deletions

View file

@ -64,7 +64,8 @@ lazy val psloginPackSettings = Seq(
packExtraClasspath := Map("ps-login" -> Seq("${PROG_HOME}/pscrypto-lib",
"${PROG_HOME}/config")),
packResourceDir += (baseDirectory.value / "pscrypto-lib" -> "pscrypto-lib"),
packResourceDir += (baseDirectory.value / "config" -> "config")
packResourceDir += (baseDirectory.value / "config" -> "config"),
packResourceDir += (baseDirectory.value / "pslogin/src/main/resources" -> "config")
)
lazy val root = (project in file(".")).