* Fartwhifs "Removing unused pattern from CryptoSystem for slightly better performance." PR
* PacketHeader Improved Efficiency
* Improve ClientPacket.ParsePacketData() efficiency
* Packet.Data does not need to be disposed()
See here: ac99a1b716/src/Common/src/CoreLib/System/IO/MemoryStream.cs (L124)
Disposing simply sets _isOpen, _writable, _expandable to false. It doesn't even release the reference to the buffer passed in to the ctor.
* WIP
* revert the RangeAdvance stuff
* More improvements
* More improvements
* More naming improvements
* MemoryStream.ToArray() -> GetBuffer()
This is the partial implementation of the previous PR.
There is still one more MemoryStream.ToArray() in the code, but, the usage of MemoryStream in that area is a bit complex and will take some further work to get away from ToArray()
* This should fix the CreateReadyToSendPacket exception on retransmit
* fixed bug causing disconnects due to NAK requests being dropped.
added asynchronous verification of encrypted CRCs
added checksum caching to ClientPacket
removed "generational ISAAC" debugging tools
fixed a bug causing session to enter an unspecified state when the connect request packet sent to the client was corrupted in transit
added handling of trusted packet with ClientSentNetErrorDisconnect flag
fixed bug during handshake causing defunct session to linger
fixed AccountSelectCallback was being called in both the try and catch sections of a try/catch block leading to crashes whenever a bad handshake occurs
implemented parsing of optional "flow" header data
added more network logging
* added packetLog to WorldManager
removed pre-processor definition NETDIAG and directives
* adding @netstats admin command
* trying to figure out the issue
* fixing bug causing AcknowledgeSequence packets to increment the lastReceivedFragmentSequence variable, causing the Sequence to break and never recover for that session
fixing bug causing RequestTransmit packets to be ignored
fixing bug causing the server to crash when a C2S packet is corrupt or malformed
changing the C2S RequestForTransmit packet count to be per request packet instead of per requested sequence
adding Developer commands junk, junk_s2c, junk_c2s, trash_s2c, and trash_c2s to simulate bad connections and manually corrupt packets
* updating changelog.md
* Update changelog.md
fixed incorrect variable name referred to in change log
* Update changelog.md
fix formatting
* adding preprocessor definition NETDIAG and directives to ACE.Common and ACE.Server to help development by preserving troubleshooting tools without interference with the optimal solution
* Apply suggestions from code review
set accessor only needed for NETDIAG functionality
minor change log addition
* reverting some unnecessary source syntax and formatting changes.
removing an unused exception variable
* reverting some unnecessary source syntax and formatting changes
* minor optimization of a duplicate prevention check
* attempt to "group" network transmissions
* WAN sessions are now at least reliable enough to test with
refactor PacketFragmentHeader.Queue to match aclogview
refactor Packet.Header.Iteration to match aclogview
included some missing header flags from aclogview
include aclogview packet header flag names as comments
refactor typo in packet header flag names
* Removed unused using statements
* Removed redudnant ToString()'s
* Removed some redundant type casts
* Removed redundant bool comparisons
* remove redundant initializers
* xml summary in invalid place switched to comments
* Use string interpolation
* use format separators
* Removed redundant parenths
* remove redundant else
* direct cast when safe
* redundant string interpolation
* xml summary fixes
* removed empty ctors
* fix modifier order
* Convert to auto property
* Convert some getters to method bodies
* use format separators
* changelog
* Auto-properties that can made to get-only
* fixed some references in XML comments
* remove redundant base()
* Revert "Auto-properties that can made to get-only"
This reverts commit 32a1225ce8.
* fix starter gear json
* Use collections count property
* simplify conditional ternary expression
* remove redundant return statements
* Constructors for abstract classes changed to protected
* Moved declarations to inner scopes
* Join declaration and assignments
* inline out variables
* Use enum extension methods instead of static methods
* inline out more variables
* more unused usings
* Remove specifying enums as ints