Commit graph

22 commits

Author SHA1 Message Date
Fate-JH
d6397d54a1
Interim 2 (#477)
* changed DefaultCancellable.obj with Default.Cancellable and deleted the former (as unnecessary)

* changed ActorRef.noSender with Default.Actor for PlanetSideServerObject entities

* Actor.noSender -> ActorRef.noSender, for consistency

* player name in log messages; zoneLoaded and zoneReload flags; upstream message count

* Default object tests; expanded the set current avatar loop

* fallback cases for unsuccessful zone/avatar load process

* completing the trials of the god Travis

* forgot to reactivate kamon
2020-05-30 12:28:10 -04:00
FateJH
6f4eac9e43 changes to quiet the warnings since the 2.13.2 update 2020-05-26 19:50:54 -04:00
Chord
82e8840176 Create PsAdmin framework
PsAdmin uses a dedicated TCP port to allow for remote queries and
command to be sent to the running World/Login server. Commands are a
single command followed by zero or more arguments.

Commands may require access to the ActorSystem, so they will get their
own dedicated actors to be able to handle the different messages
required that can be sent in response to a query. The return line is in
JSON to allow for easy parsing by applications, such as web servers.
An interactive client is easy as being able to parse json and buffer
command input.

Some basic commands are implemented for now:

* shutdown - kills the actor system
* list_players - gets a list of players on the interstellar cluster
* dump_config - get the running config
* thread_dump - dumps all thread backtraces (useful for prod debugging)

More advanced commands like kick/ban will require additional testing.
2020-05-11 04:18:29 +02:00
Fate-JH
53ecee566a
Persistence (#337)
* constructed service actor to handle persistence of player on server beyond the reaches of WSA from one login to the next; created in PSLogin, interfaced with and updated in WSA

* for what it's worth, players can be completely logged out of the world after 60s of inactivity, alive Infantry only right now;  some code was removed from WSA to make it accessible to other classes but it's incomparable to the new code; broke, fixed, compromised on the code that handles loadouts, server login time, etc.

* moved another common vehicle function into global space; persistence object for players in vehicles during log-out or relogging in a vehicle

* support for relogging when dead/released/unfound; silenced implant slot setup during character select screen

* tested and commented code for managing player avatar persistence

* clarificaion of WSA postStop

* test fixed

* postStop change to account for WSA being cut short during initialization

* clarification of SquadService logout

* player died during setup; probably a relog

* kill the doppelganger WSA; die when you are actually dead

* created manifest to assist with vehicle gating; vehicle gating now accomodates the persistence model much better

* fixed the test

* fixed initial vehicle seat access permissions; moved a subscription to AvatarService to support persistence

* bug fixes: safer GridInventory collision checks, plus specific exceptions; SessionRouter waits for the account intermediary before allowing itself to be started; WSA - match error colution, and MAX without arm now creates the arm it expects

* adjusted insertion and removal code to make inventory management less prone to partoial insertions of removals; inventory integrity checking code writen, but no plans on implementing it yet
2020-02-14 10:54:52 -05:00
pschord
d08911d07c Account and Character Database and Config Improvements (#317)
* Create Account/DB abstraction

* Fix crash when removing boomers from deconstructed player

* Extend config to include database and worldserver info

* Improve ConfigParser tests

* Add database setup documentation

* Add xTriad to THANKS file

**

* Increase bcrypt rounds and fix readme link
2020-01-10 11:13:37 -05:00
Chord
83ac66a3bf Increase SessionReaper timeouts and add to config file
This should fix issues disconnecting at loading screens/zone changes as
no packets are being transmitted during this window. If the
WorldSessionsActor is also slightly overloaded, the session reaper can
drop the session mistakenly due to no outbound traffic.

Also fix-up WorldConfig.Get with better error messages along with more
tests.
2019-12-21 15:20:07 -05:00
Mazo
2048fa19cb Vehicle jacking (#264)
* Jacking changes

* GOAM documentation

* Don't disable a deployed router's internal telepad when cleaning up remote telepads (i.e. when router is hacked)

* Reduce some log spam
2019-08-21 10:39:44 -04:00
pschord
3c0b55a99e Update copyrights for 2017 (#109) 2017-03-06 19:30:45 -05:00
Chord
ae6687c38f Create advance session management and reaping 2016-07-30 21:08:40 -04:00
Chord
c1257cb1ec Fix MDC sessionId passing, annotate ping message 2016-07-30 17:01:43 -04:00
Chord
d880a95aee Add trace logging for more packets 2016-07-26 02:55:05 -04:00
Chord
8b14015582 Add environment printing and fix comments 2016-07-19 02:20:36 -04:00
Chord
c18ec5c6ba Work around scodec-akka bug and remove old UDP packet 2016-06-04 03:15:27 -04:00
Chord
9a0ef28723 Improve session router name for log output purposes 2016-05-19 03:14:38 -04:00
Chord
d27bd7988c Made some hacks to get to 100% on the World login
Literally sending raw bytes instead of actual packets. No fks given
2016-05-17 20:34:21 -04:00
Chord
4d52d65b33 Add fault tolerance to SessionRouter and it's children 2016-05-13 23:31:27 -04:00
Chord
f81d67f959 Fix missing MDC Actor tell on session creation 2016-05-02 22:28:11 -04:00
Chord
e299abb03a Add SLF4J MDC session logging 2016-05-01 21:41:10 -04:00
Chord
1318ebd751 New SLF4J logger log4s. ANSI colors
Used jANSI for Windows console color support. Log4s for a Scala logging
facade (which uses SLF4J). Using logback as the logging driver.
2016-05-01 04:37:36 -04:00
Chord
53488613d6 New session pipeline and able to see server selection 2016-04-24 19:06:17 -04:00
Chord
a3de62db90 Add copyrights to top of all files 2016-03-04 15:14:50 -05:00
Chord
d96fce6299 Initial Commit 2016-02-05 03:19:13 -05:00