Commit graph

39 commits

Author SHA1 Message Date
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 58b45a85a9 Better handle database login errors (#321)
* logging errors for database login ops

* clarified types of messages to expect

* TeardownConnection handled
2020-01-10 19:40:15 -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 a54ee2f0b7 Refine VNL multi-world with new vector codec 2019-12-18 13:39:02 -05:00
Chord 37ad423820 Packet: Fix VNL packet to support multiple servers 2019-12-18 13:39:02 -05:00
Mazo f6bb87941e Remove passwords being logged in plaintext on logins 2018-05-20 18:32:16 +01:00
FateJH adb7738268 incoming control container packet unwinding has been shifted from LSA and WSA to PCA 2018-03-12 19:18:09 -04:00
FateJH 294d5335c9 initial RelatedA0 and RelatedB0 packets
modified HandleGamePacket so that it should encode properly; modified CSA so that it attempt to detect packets that encode into ByteVectors that are 'too big' and will attempt to split them up

separated the ControlPacket tests into invdividual files and wrote tests for RelatedA0, RelatedB0, and HandleGamePacket

proof of concept MTU packet split in CSA; example in WSA @ character select

modified session pipeline to accept n queued Actors rather than just two; special packet decoder in progress

some effort separating useful sub-operations in encryption/decryption/encoding/decoding functions; introduced PacketCodingActor , devoted to encoding and decoding packets; simplified CSA so that it is devoted just to encrypting and decrypting
2017-08-25 21:20:07 -04:00
pschord 3c0b55a99e Update copyrights for 2017 (#109) 2017-03-06 19:30:45 -05:00
Chord 04ae44c3a9 Improve LoginRespMessage, write test, and begin DB 2017-03-04 14:55:43 -05:00
SouNourS b00748727e Some little corrections (#91)
* Some little corrections

* Update WorldSessionActor.scala

Fate & Chord requests
2017-03-04 10:04:17 -05:00
FateJH a52ee0c90a promotion of PlanetSideEmpire into a major Enum type; some failing cases such as in CharacterData and CharacterCreateRequest 2017-02-27 23:42:23 -05:00
Chord 38715c0d04 Enable GM (anonymous mode) for all players 2016-08-05 20:03:03 -04: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 3ccb31f961 Add input argument for listen address 2016-07-25 20:20:52 -04:00
Chord d857a436f3 Remove hardcoded IP address 2016-07-16 13:20:00 -04:00
Chord 5fa0610208 Working login to TR Sancuary!
Packet: SetCurrentAvatarMessage

Lots of hacks to get here, but wow, what a milestone.
2016-07-15 01:45:10 -04:00
Chord 63311e4e88 Fix old EmpireNeed name to PlanetSideEmpire 2016-06-04 13:23:14 -04:00
Chord eb03372db7 Enable WorldSession to get to login screen using replay
A nasty hack, but it works and looks cool.
2016-05-19 03:13:58 -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 3c07cc4cf0 Correctly respond to ConnectToWorldRequestMessage 2016-05-14 15:49:35 -04:00
Chord 43a403174f Fix bad ServerType encoding and change server type 2016-05-14 14:31:30 -04:00
Chord 11298c1a46 Stub out ControlSync to prevent client from leaving
Still have no idea what these packets are actually doing...
2016-05-14 03:17:51 -04:00
Chord 4d52d65b33 Add fault tolerance to SessionRouter and it's children 2016-05-13 23:31:27 -04:00
Chord 10f54b7980 Remove scroller and parametize UDP listener 2016-05-05 11:36:28 -04:00
Chord cdf240cf66 Handle meta packet and return ack. server scroller
The scroller isn't usable in production as the client will deselect the
server listing each time the list is updated. This prevents you from
selecting a server.
2016-05-04 23:03:30 -04:00
Chord c7f70e3543 Finish coding for SlottedMetaPacket and wrote test 2016-05-04 02:36:47 -04:00
Chord ff4ea792ce Organize packets in to their own packages
Also remove legacy CryptoStateManager
2016-05-03 20:11:45 -04:00
Chord df1d222df8 Refactor package naming scheme and line endings (CRLF) 2016-05-03 03:58:58 -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 36d9f5134c Revert change to LoginMessage tokenPath 2016-04-30 23:54:10 -04:00
Chord 30a94a0725 Remove extra logging and discord bot test 2016-04-24 21:13:52 -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 f762aa8e1f [Packet] VNLWorldStatus message - added IP port
Found out that the hidden fields were an array of IP and ports
2016-03-04 14:49:26 -05:00
Chord b8ff34c0f9 [packet] VNLWorldStatusMessage
Added VNL packet type from IDA. Moved definition in to its own file.
Refactored PacketCoding MarshalPacket. The whole structure needs a
rework.

Now able to get a PlanetSide client to the server screen with a server
of choice.
2016-03-04 13:00:03 -05:00
Chord d96fce6299 Initial Commit 2016-02-05 03:19:13 -05:00