aboutsummaryrefslogtreecommitdiff
path: root/src/communication.cc
Commit message (Collapse)AuthorAge
* fix issues and warnings when compiling with glibc < 2.32 (#57, #58)fusion322026-05-28
| | | | | This also fixes some inconsistencies such as mixing both strerror and strerrordesc_np, and possible formatting issues.
* missing NEWLINE on non-patched fields + fix accept error on shutdownfusion322026-03-30
|
* support for proxy headers + minor tweaksfusion322026-03-14
|
* network code robustnessfusion322026-02-26
| | | | | This should address some quirks of both game and query manager connections while keeping roughly the same overall design.
* bind acceptor to INADDR_ANY by default + set TCP_NODELAY on socketsfusion322026-01-14
| | | | | | | | | | | - Binding the acceptor to the game address was troublesome with certain setups, so it will now bind to INADDR_ANY by default. This behaviour can be reverted by adding `-DBIND_ACCEPTOR_TO_GAME_ADDRESS=1` as a compiler option. - Setting TCP_NODELAY can help improving latency and reducing stutters specially for players with higher ping. It was not in the original binary, but it's probably worth it to have it enabled.
* fix #32fusion322025-09-25
|
* support 7.72 with non-default `-DTIBIA772=1` switchfusion322025-09-19
|
* cleaning up a few comments + login message enumfusion322025-08-19
|
* fix RETRIEVE action, used with ropingfusion322025-08-17
|
* wrapping up for a public releasefusion322025-08-15
|
* fix some critical bugsfusion322025-07-19
| | | | | | Aside from obvious gameplay bugs pretty much everywhere, the game is finally in a PLAYABLE state. It should be smooth sailing to get it stable for an initial test server.
* THREADING: upgrade from LinuxThreads to NPTLfusion322025-07-19
| | | | | | | | | | | | This was a required change to make the server run on a modern GLIBC version without resorting to shady shared libraries or compatibility tricks. It is very straightforward but we should always keep an eye out for possible bugs. There was also a problem with the Z loop on field sending functions that was causing the server to hang in an infinite loop and should now be fixed. With these changes it is now possible to login into the game for a split second before the client asserting.
* small cleanup + fix sigaction flagsfusion322025-07-18
|
* fix most init and parsing bugs + critical bug with dynamic stringsfusion322025-07-16
| | | | | | With an appropriate query manager, the server now starts up and seems to work but won't properly handle connections until we fix the problem with threads and signals described in `TODO.md`.
* implement `crypto.cc` with OpenSSL + fix config loadingfusion322025-07-03
| | | | | | | | | | | | | | | | I considered reversing the original `vlong` implementation but OpenSSL is just simpler, more secure, and most importantly, is already there. I also made it so the key is now stored in a PEM file (`tibia.pem`) so it can be easily swapped without re-compiling. This was the last piece to build and run a working executable, except that we now need to implement a query manager for the server to communicate with. I was able to fix a small problem with loading the config before hitting the problem with the query manager, which was expected. The next task should be getting a query manager up and running before starting phase two of upgrading and fixing the server itself.
* `query.cc`fusion322025-07-02
|
* beginning of `query.cc`fusion322025-07-01
|
* `writer.cc`fusion322025-06-30
|
* `receiving.cc`fusion322025-06-23
|
* `connections.cc`fusion322025-06-21
|
* finish `communication.cc`fusion322025-06-20
|
* small change to `ReceiveCommand` for increased connection reliabilityfusion322025-06-20
|
* more work on `communication.cc`fusion322025-06-20
|
* beginning of `communication.cc`fusion322025-06-19