| Commit message (Collapse) | Author | Age |
| |
|
|
|
| |
This also fixes some inconsistencies such as mixing both strerror
and strerrordesc_np, and possible formatting issues.
|
| | |
|
| | |
|
| |
|
|
|
| |
This should address some quirks of both game and query manager
connections while keeping roughly the same overall design.
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
| |
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`.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|