Skip to content

Releases: JusicP/CSNZ_Server

v1.0.1: Code refactoring using patterns (#32)

23 Apr 13:10
c1f72a5

Choose a tag to compare

* Completely implement singleton for CManager

* Check if duplicate manager when adding to manager list

* Create manager class documentation

* Fix message printing

* Make managers created when program starts
Add Reload method to the server instance class
Add user database proxy to measure methods execution time

* Add documentation for command classes

* Check for command duplicate when adding to list

* Remove temporary DB_PROXY define (should be defined when using SERVER_DB_PROXY option)

* Add missing EOL in CManager::AddManager log

* Don't print this message if client leaves

* Separate loading and parsing event quests in CQuestManager
Add tasks and conditions in constructors, not in parse method

* Add manager tests

* Add ModeEvent.csv metadata
Send ban list only if it exists in database

* Replace int with size_t in CSendPacket::WriteData method

* Move server command definitions to separate file

* Fix a problem where user info and inventory not showing on client
Add new room settings variable
Add sendpacket command

* Add missing packet ids and rename existing ones

* Add unknown hostserver packet ids and add transfer function

* Update metadata to latest

* Don't change FD_SETSIZE define value to avoid memory corruption and crash in random places

* Rewrite server events
Use target_compile_definitions instead of add_definitions in cmakelists

* Add test for events

* Refactoring logging code:
- separate logging to file and console
- composite logging

* Some fixes in tests

* Template method for CBaseLogger

* Move logger test classes inside test case

* Delete readme.txt

* Add test for commands

---------

Co-authored-by: Smilex_Gamer <[email protected]>

v1.0.0

17 Mar 10:46
7785190

Choose a tag to compare

Refactoring network code (#26)

* Thread: added argument to the constructor for passing data to the thread

* Documented net methods (doxygen)
Move net definitions to separate file

* Update .gitignore

* Delete doc folder

* Use singleton pattern for CConsole (to use it outside in other libraries)
Move CConsole to common folder
Use critical section when calling log methods in CConsole
Add /// @todo comments to view them in docs
Network refractoring (make it as a static library)

* Compile console.cpp for net library
Add doctest library

* Use winsock 2.2
Close socket only after listen thread joining to avoid errors while listening

* Fixed an issue when critical section enter() could be called but leave was never called

* Make TCPClient working
Delete socket objects after joining thread (CTCPServer::Stop())

* Set server listener in CServerInstance constructor

* Fixed typo in CTCPServer::Accept method.
Print message to the console when the client disconnects

* Add network tests

* Upload some useful diagams

* Fix infinite recursion when cleaning up user

* Add glossary

* Fix packet receiving (case when part of the packet hasn't yet arrived) and memory leak

* Add test for packet sequence