Skip to content
Failed

Changes

Summary

  1. Tree: Redo bans, Make sending packets memory safe and tiny things (commit: d3ff58b) (details)
  2. Tree: Beta Release (commit: 28e374f) (details)
  3. Tree: Formatting and header corrections (commit: 8c45d1a) (details)
  4. Source: libmapvxl header corrections (commit: 228d8be) (details)
  5. Tree: Header corrections and remove local enet copy (commit: ac7ec9d) (details)
  6. Commands.c: Remove LOG_DEBUG left over from debugging (commit: aac8e13) (details)
  7. Gamemodes.c: Fix float lost accuracy (commit: 6cb4e65) (details)
  8. Source: Simplify looking for banned users (commit: 314b6af) (details)
  9. Server.c: Use host IP instead of the one in ban string (commit: 6bd5d25) (details)
  10. Packets.c: Change message delay to 400ms (commit: 21bff23) (details)
  11. Server: Add initial CIDR & Range ban support (commit: 71f62dd) (details)
  12. Server.c: Handle disconnecting banned players properly (commit: 7af57cd) (details)
  13. Source: Big ban changes (Read description) (commit: 6be211c) (details)
  14. Server: Unify xban commands (commit: 6cc7b6f) (details)
  15. Commands.c: Unban support and ban fixes (commit: 456a9f3) (details)
  16. Commands.c: Error out with user specified IP in /unban (commit: 8271b22) (details)
  17. Commands.c: Use Util/ prefix for JSONHelpers include (commit: 765eb01) (details)
  18. Server: Colorized terminal output & small fixes (commit: e017ed6) (details)
  19. Types.h: Make LOG_DEBUG purple (commit: c55b069) (details)
  20. Source: General cleanup (commit: c338a91) (details)
  21. Protocol.c: Optimize checkNode (commit: 850b1a2) (details)
  22. README.md: Some small details (commit: ff3169f) (details)
  23. Source: Revamp most logs and messages (commit: c677e4a) (details)
  24. Source: Add server console (commit: 7afb0eb) (details)
  25. Server: Fix potential leaking of IP (commit: ee6bd46) (details)
  26. Server.c: Do not show Limbo players (commit: 5c2adb5) (details)
  27. Source: Improve Noclip anti-cheat (commit: 0df722c) (details)
  28. Tree: Resize map memory to the exact VXL memory size (commit: 8236b4e) (details)
  29. Map.*: Add protection against loading bigger map then allocated memory (commit: a8e047d) (details)
  30. libmapvxl: Update libmapvxl (commit: 83414ef) (details)
Commit d3ff58b5ceabde259dc0648da0211da840e4caa5 by 16738302+Haxk20
Tree: Redo bans, Make sending packets memory safe and tiny things

This is a big one.
So lets start with bans. Bans have been completely refactored.
We no longer use txt file but json file for easier searching
and etc.
This also allows us to write what we want into them.
This also include WIP CIDR ban support. (Not working yet)
And also allows us to do range bans which will come later on.

Bans now also include reasons and timer.
Timer is not utilized yet as we only have perma bans for now
but that will change soon.

And most sending packets did not check if the packet actually
succeeded sending. This would cause memory leaks.
Which is def not something we want.

Also move ip functions into its own file in Utils.

I might have missed something but i think thats it.
(commit: d3ff58b)
The file was modified Source/Packets.c (diff)
The file was modified .github/workflows/cmake.yml (diff)
The file was modified Source/Server.c (diff)
The file was modified Source/Commands.c (diff)
The file was modified Source/Protocol.c (diff)
The file was modified Source/Structs.h (diff)
The file was modified Source/Commands.h (diff)
The file was addedSource/ParseConvert.h
The file was addedSource/ParseConvert.c
The file was modified Source/CMakeLists.txt (diff)
The file was modified README.md (diff)
The file was modified Source/Structs.h (diff)
Commit 8c45d1a57657c1938722607d8a056a0e15ecd695 by 16738302+Haxk20
Tree: Formatting and header corrections
(commit: 8c45d1a)
The file was modified Source/ParseConvert.h (diff)
The file was modified Source/Util/Compress.c (diff)
The file was modified Source/Conversion.h (diff)
The file was modified Source/Server.h (diff)
The file was modified Source/Protocol.h (diff)
The file was modified Source/Master.h (diff)
The file was modified Source/Packets.c (diff)
The file was modified Source/Util/Enums.h (diff)
The file was modified Source/Packets.h (diff)
The file was modified Source/Structs.h (diff)
The file was modified Source/Util/JSONHelpers.h (diff)
The file was modified Source/ParseConvert.c (diff)
The file was modified Source/Master.c (diff)
The file was modified Source/Map.h (diff)
The file was modified Source/Util/Physics.h (diff)
The file was modified Source/Util/DataStream.c (diff)
The file was modified Source/Util/DataStream.h (diff)
The file was modified Source/Commands.h (diff)
The file was modified Source/Ping.c (diff)
The file was modified Source/Server.c (diff)
The file was modified Source/Gamemodes.c (diff)
The file was modified Source/Map.c (diff)
The file was modified Source/Main.c (diff)
The file was modified Source/Commands.c (diff)
The file was modified Source/Protocol.c (diff)
Commit 228d8be80a9e48c3624a48a0293acc17cfd95007 by 16738302+Haxk20
Source: libmapvxl header corrections
(commit: 228d8be)
The file was modified Source/Gamemodes.c (diff)
The file was modified Source/Server.h (diff)
The file was modified Source/Protocol.c (diff)
The file was modified Source/Map.c (diff)
Commit ac7ec9d91ba01d919786f10aa3ebd8341120a72f by 16738302+Haxk20
Tree: Header corrections and remove local enet copy
(commit: ac7ec9d)
The file was modified Extern/CMakeLists.txt (diff)
The file was removedExtern/enet
The file was modified Source/Gamemodes.c (diff)
The file was modified Source/Map.c (diff)
Commit aac8e13d2422dd08b8d00fc10c12a81fac6acbbc by 16738302+Haxk20
Commands.c: Remove LOG_DEBUG left over from debugging
(commit: aac8e13)
The file was modified Source/Commands.c (diff)
Commit 6cb4e65eda07d6edd3c4b37f7d8495c724a8c26f by 16738302+Haxk20
Gamemodes.c: Fix float lost accuracy

Instead of having possible errors in there lets
round it down just to be safe
(commit: 6cb4e65)
The file was modified Source/Gamemodes.c (diff)
Commit 314b6afe276a0d1aab5a679cac5098273378974e by 16738302+Haxk20
Source: Simplify looking for banned users
(commit: 314b6af)
The file was modified Source/Server.c (diff)
The file was modified Source/CMakeLists.txt (diff)
The file was modified Source/ParseConvert.h (diff)
The file was removedSource/Conversion.h
The file was modified Source/ParseConvert.c (diff)
Commit 6bd5d25efe0043e1975af3e3f132bc84377073c1 by 16738302+Haxk20
Server.c: Use host IP instead of the one in ban string

When CIDR and range ban support is in we will want to use
the host IP instead of the one in ban.
(commit: 6bd5d25)
The file was modified Source/Server.c (diff)
Commit 21bff23449d86a0042209a6cf7db76e267b38b5a by 16738302+Haxk20
Packets.c: Change message delay to 400ms

Still enough to catch spammers and yet enough to allow fast typers
(commit: 21bff23)
The file was modified Source/Packets.c (diff)
Commit 71f62ddd86c6b1db27f64e5fd1c90036e505ee85 by 16738302+Haxk20
Server: Add initial CIDR & Range ban support

Now we can ban CIDR ranges with /banip <ip/CIDR> <reason>
And range with /banrange <startRange> <endRange> <reason>

These are initial support and improvements will come soon
(commit: 71f62dd)
The file was modified Source/Protocol.c (diff)
The file was modified Source/Protocol.h (diff)
The file was modified Source/Commands.c (diff)
The file was modified Source/Server.c (diff)
Commit 7af57cdbf6fcf0d5f85970eafcef2086f0680687 by 16738302+Haxk20
Server.c: Handle disconnecting banned players properly

If banned player tried to join we would get in a lot
of trouble as soon as they disconnect cause we would
try to send a lot of stuff that depends on PlayerID.
Which these players do not have.
Causing overflowing of variables and other mess. Handle
it properly.
(commit: 7af57cd)
The file was modified Source/Server.c (diff)
The file was modified Source/Packets.c (diff)
Commit 6be211c92cb2fc830cc5ec3bdd415096ee14de3e by 16738302+Haxk20
Source: Big ban changes (Read description)

Newly introduced commands:
/hban - 6 Hours ban
/dban - 1 Day ban
/wban - 1 Week ban
/mban - 1 Month ban
/pban - Permanent ban

/banip has been renamed to /ban

All ban commands excluding range now also support
either IP ban or #ID ban.

/ban can now be used to also optionally set
the amount of time in minutes that the ban will last.
Same applies to /banrange

All of this combined i think makes it pretty much possible
to ban anyone you may. Range bans, CIDR bans, Single IP bans.
Up to you. All with time.

Keep in mind when setting permanent range bans the time
is not 99999... It is 0 for permanent ban.
(commit: 6be211c)
The file was modified Source/Util/Enums.h (diff)
The file was modified Source/Server.c (diff)
The file was modified Source/Commands.c (diff)
The file was modified Source/Util/JSONHelpers.h (diff)
The file was modified Source/Protocol.c (diff)
The file was modified Source/Server.c (diff)
The file was modified Source/Commands.c (diff)
Commit 456a9f375197a71f721d75d9cd79a5ed1ef6fbab by 16738302+Haxk20
Commands.c: Unban support and ban fixes

Now we support:
/unban - Unbans the specified IP
/unbanrange - Unbans the specified range
/undoban - Reverts the latest ban

/unban takes only 1 argument and that is the IP to unban.
/unbanrange takes 2 arguments and those are start of the
range and end of the range to unban. Start and End range must be
exactly the same that was banned.
(commit: 456a9f3)
The file was modified Source/Commands.c (diff)
Commit 8271b226de646ff55c14f5a1eab114aa611a0681 by 16738302+Haxk20
Commands.c: Error out with user specified IP in /unban
(commit: 8271b22)
The file was modified Source/Commands.c (diff)
Commit 765eb01cf47102bd6782ae714dc098b3abb6bde0 by 16738302+Haxk20
Commands.c: Use Util/ prefix for JSONHelpers include
(commit: 765eb01)
The file was modified Source/Commands.c (diff)
Commit e017ed6536715cf3ff983e8803eb4419f968cc12 by 16738302+Haxk20
Server: Colorized terminal output & small fixes
(commit: e017ed6)
The file was modified Source/Packets.c (diff)
The file was modified Source/Gamemodes.c (diff)
The file was modified Source/Server.c (diff)
The file was modified Source/Util/Types.h (diff)
Commit c55b0690a2021b2f5c0bb61f4e1cde35fe6cbdd2 by 16738302+Haxk20
Types.h: Make LOG_DEBUG purple

The colors would match too much with others
making it hard to see debug messages.
(commit: c55b069)
The file was modified Source/Util/Types.h (diff)
Commit c338a919a531e049ce501da1776e12871e976eb1 by 16738302+Haxk20
Source: General cleanup

get_nanos was defined multiple times as static
Physics had to be split to C/H files in order
to prevent nasty includes
(commit: c338a91)
The file was modified Source/Packets.c (diff)
The file was modified Source/Packets.h (diff)
The file was modified Source/Server.c (diff)
The file was modified Source/Commands.c (diff)
The file was modified Source/Protocol.c (diff)
The file was modified Source/Protocol.h (diff)
The file was modified Source/Util/CMakeLists.txt (diff)
The file was modified Source/Util/Physics.h (diff)
The file was addedSource/Util/Physics.c
Commit 850b1a2a46a819237f7c75039558b59f85334896 by 16738302+Haxk20
Protocol.c: Optimize checkNode

Previously we had to go trough entire array to check
if node was already visited.
Replacing the array with 3D array and checking using that
saves incredible amount of time.
(commit: 850b1a2)
The file was modified Source/Protocol.c (diff)
The file was modified README.md (diff)
Commit c677e4a8254be2e04c34c33eb8e2fc0b7a1b886f by 16738302+Haxk20
Source: Revamp most logs and messages
(commit: c677e4a)
The file was modified Source/Server.c (diff)
The file was modified Source/ParseConvert.h (diff)
The file was modified Source/Util/Enums.h (diff)
The file was modified Source/ParseConvert.c (diff)
The file was modified Source/Commands.c (diff)
The file was modified Source/Packets.c (diff)
Commit 7afb0eb3c93f7f7664fb26025a6b9955e90bcecf by 16738302+Haxk20
Source: Add server console

Server console is a console
that server administrator can use to use
commands without being actually connected
in game.

For now the console includes also
history of commands preformed during
that session of the server.
Meaning when you stop the server
history will be cleaned.

Tab completion will be implemented
later on.
(commit: 7afb0eb)
The file was modified Source/Structs.h (diff)
The file was modified Source/Commands.h (diff)
The file was modified CMakeLists.txt (diff)
The file was modified Source/Commands.c (diff)
The file was modified Source/Protocol.h (diff)
The file was modified Source/Packets.c (diff)
The file was modified Source/Server.c (diff)
The file was modified Source/Protocol.c (diff)
Commit ee6bd46af0caa7202151f3bfb237d783a2064f44 by 16738302+Haxk20
Server: Fix potential leaking of IP
(commit: ee6bd46)
The file was modified Source/Packets.c (diff)
The file was modified Source/Server.c (diff)
Commit 5c2adb58911da7a2fddd362916b1efa8aae635b9 by 16738302+Haxk20
Server.c: Do not show Limbo players
(commit: 5c2adb5)
The file was modified Source/Server.c (diff)
Commit 0df722c911d7ced35d87ec6e6975422c42517b14 by 16738302+Haxk20
Source: Improve Noclip anti-cheat
(commit: 0df722c)
The file was modified Source/Structs.h (diff)
The file was modified Source/Packets.c (diff)
Commit 8236b4e2b6a7c648b840375842b8166ba2f8b5b5 by 16738302+Haxk20
Tree: Resize map memory to the exact VXL memory size

Before we would output memory to 10MiB regardless
of the actual memory size.

Most of the time we would fit in this size but its
easy to hit this limit with much more complex maps.
Now we allocate the maximum possible memory size for
given XYZ size of VXL and after filling this memory
with the map info reallocate to the exact map size
of the output VXL memory. And compress that.

This has multiple advantages.
Its impossible to overflow if given valid VXL map
info about the size.
We send the minimal amount of data to player so
faster map loading and compressing.
We can load any size of valid VXL map. Even those
that may be currently non existent. Such as
1024x1024x256.
(commit: 8236b4e)
The file was modified Extern/libmapvxl (diff)
The file was modified Source/Map.c (diff)
The file was modified Source/Structs.h (diff)
The file was modified Source/Packets.c (diff)
Commit a8e047d52c66a502b175347468b691ebd2308397 by 16738302+Haxk20
Map.*: Add protection against loading bigger map then allocated memory
(commit: a8e047d)
The file was modified Source/Server.c (diff)
The file was modified Source/Map.c (diff)
The file was modified Source/Map.h (diff)
Commit 83414efe4de9469624ef052fd30bc7179e531016 by 16738302+Haxk20
libmapvxl: Update libmapvxl

New commit makes returning of size thread safe
(commit: 83414ef)
The file was modified Extern/libmapvxl (diff)