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.
* 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
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
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.
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.