furo
d9a726eb48
Stop all recording of server demos on shutdown.
2023-12-02 11:10:20 +01:00
Robert Müller
5aa9003180
Remove unused ver
parameter of MACRO_INTERFACE
2023-11-28 21:46:03 +01:00
Robert Müller
794e6b750b
Also apply name bans to clans, trim space from clans
...
Apply the name bans system also to player clans, meaning players joining with banned clan names are kicked and changing the clan to a banned name while ingame has no effect.
Additionally, trim UTF-8 whitespace from beginning and end of clan. This was already done for player names but not for clans.
Closes #7516 .
2023-11-25 23:00:57 +01:00
furo
9627e7b3a8
Simplify TickSpeed getters
2023-11-23 15:33:30 +01:00
Robert Müller
29a32b7acc
Use const char *
instead of char const *
consistently
...
Both are equivalent. Seems to already be used consistently for all other types.
2023-11-20 22:26:19 +01:00
heinrich5991
330d1ebaf6
Add possibility to persist game data past map changes
2023-08-27 16:11:45 +02:00
heinrich5991
84948adad1
Allow antibot to record data into teehistorian
2023-08-25 14:26:09 +02:00
Zwelf
3c2d8afff6
Create new teehistorian event for player rejoin
2023-08-25 00:42:54 +02:00
Zwelf
d7164211e6
Rename OnClientEngineJoin and OnClientEngineDrop to make the name fit its usage
2023-08-15 22:22:42 +02:00
ChillerDragon
e3afe0dba4
Allow server to redirect clients
...
This is a preperation for #6754 (redirect players on map vote)
And an implementation of #5662 (redirect players)
2023-07-27 11:30:11 +02:00
Edgar
1d30462e50
clean time score handling, with positive time values
2023-05-22 16:36:46 +02:00
Alexander Akulich
2ad5c020e0
Add a simpler IServer::SnapNewItem() API based on some more generated data
2023-02-10 23:12:24 +03:00
heinrich5991
05f2c1e43f
Hand the client IP addresses to the antibot module
2023-01-11 01:35:50 +01:00
Edgar
4a506f03a6
report extra player info to master http
2022-11-14 08:04:34 +01:00
Robert Müller
5c2f162da2
Remove unused DemoRecorder_IsRecording
method
2022-08-25 17:57:03 +02:00
Alexander Akulich
301355d588
engine/server.h: Remove outdated comment
2022-08-15 15:05:59 +03:00
Robert Müller
c696d93e41
Add documentation for IServer::GetClientVersion
2022-08-03 23:28:51 +02:00
Robert Müller
24b30434da
Handle CServer::GetClientInfo
return to fix use of undefined value
...
```
/home/runner/work/ddnet/ddnet/src/engine/server/server.cpp:790:2: error: Undefined or garbage value returned to caller [clang-analyzer-core.uninitialized.UndefReturn,-warnings-as-errors]
return Info.m_DDNetVersion;
^
/home/runner/work/ddnet/ddnet/src/engine/server/server.cpp:785:5: note: Assuming 'ClientID' is not equal to SERVER_DEMO_CLIENT
if(ClientID == SERVER_DEMO_CLIENT)
^
/home/runner/work/ddnet/ddnet/src/engine/server/server.cpp:785:2: note: Taking false branch
if(ClientID == SERVER_DEMO_CLIENT)
^
/home/runner/work/ddnet/ddnet/src/engine/server/server.cpp:789:2: note: Calling 'CServer::GetClientInfo'
GetClientInfo(ClientID, &Info);
^
/home/runner/work/ddnet/ddnet/src/engine/server/server.cpp:646:13: note: Assuming 'ClientID' is >= 0
dbg_assert(ClientID >= 0 && ClientID < MAX_CLIENTS, "client_id is not valid");
^
/home/runner/work/ddnet/ddnet/src/base/tl/../system.h:58:38: note: expanded from macro 'dbg_assert'
#define dbg_assert(test, msg) assert(test)
^
/usr/include/assert.h:93:27: note: expanded from macro 'assert'
(static_cast <bool> (expr) \
^
/home/runner/work/ddnet/ddnet/src/engine/server/server.cpp:646:13: note: Left side of '&&' is true
dbg_assert(ClientID >= 0 && ClientID < MAX_CLIENTS, "client_id is not valid");
^
/home/runner/work/ddnet/ddnet/src/engine/server/server.cpp:646:30: note: Assuming 'ClientID' is < MAX_CLIENTS
dbg_assert(ClientID >= 0 && ClientID < MAX_CLIENTS, "client_id is not valid");
^
/home/runner/work/ddnet/ddnet/src/base/tl/../system.h:58:38: note: expanded from macro 'dbg_assert'
#define dbg_assert(test, msg) assert(test)
^
/usr/include/assert.h:93:27: note: expanded from macro 'assert'
(static_cast <bool> (expr) \
^
/home/runner/work/ddnet/ddnet/src/engine/server/server.cpp:646:2: note: '?' condition is true
dbg_assert(ClientID >= 0 && ClientID < MAX_CLIENTS, "client_id is not valid");
^
/home/runner/work/ddnet/ddnet/src/base/tl/../system.h:58:31: note: expanded from macro 'dbg_assert'
#define dbg_assert(test, msg) assert(test)
^
/usr/include/assert.h:93:7: note: expanded from macro 'assert'
(static_cast <bool> (expr) \
^
/home/runner/work/ddnet/ddnet/src/engine/server/server.cpp:647:13: note: 'pInfo' is not equal to null
dbg_assert(pInfo != 0, "info can not be null");
^
/home/runner/work/ddnet/ddnet/src/base/tl/../system.h:58:38: note: expanded from macro 'dbg_assert'
#define dbg_assert(test, msg) assert(test)
^
/usr/include/assert.h:93:27: note: expanded from macro 'assert'
(static_cast <bool> (expr) \
^
/home/runner/work/ddnet/ddnet/src/engine/server/server.cpp:647:2: note: '?' condition is true
dbg_assert(pInfo != 0, "info can not be null");
^
/home/runner/work/ddnet/ddnet/src/base/tl/../system.h:58:31: note: expanded from macro 'dbg_assert'
#define dbg_assert(test, msg) assert(test)
^
/usr/include/assert.h:93:7: note: expanded from macro 'assert'
(static_cast <bool> (expr) \
^
/home/runner/work/ddnet/ddnet/src/engine/server/server.cpp:649:5: note: Assuming field 'm_State' is not equal to STATE_INGAME
if(m_aClients[ClientID].m_State == CClient::STATE_INGAME)
^
/home/runner/work/ddnet/ddnet/src/engine/server/server.cpp:649:2: note: Taking false branch
if(m_aClients[ClientID].m_State == CClient::STATE_INGAME)
^
/home/runner/work/ddnet/ddnet/src/engine/server/server.cpp:667:2: note: Returning without writing to 'pInfo->m_DDNetVersion'
return 0;
^
/home/runner/work/ddnet/ddnet/src/engine/server/server.cpp:789:2: note: Returning from 'CServer::GetClientInfo'
GetClientInfo(ClientID, &Info);
^
/home/runner/work/ddnet/ddnet/src/engine/server/server.cpp:790:2: note: Undefined or garbage value returned to caller
return Info.m_DDNetVersion;
^
```
2022-07-31 23:37:28 +02:00
Robert Müller
9a012312b8
Move and extend GetClientVersion
to remove many version.h
includes
...
The `CServer::GetClientVersion` method needs the `version.h` include, so it's moved from the header to the source file, so the include can be removed from the header.
The `GetClientVersion` method is often called with the same `Client != SERVER_DEMO_CLIENT ? GetClientVersion(Client) : CLIENT_VERSIONNR` expression, which also needs the `version.h` include. This expression is moved inside the method, so the include can be removed from all the server entities' and player code.
The `CGameContext::GetClientVersion` method is made a delegate to reduce duplicate code.
The includes of the server entities are also organized further.
2022-07-31 23:21:10 +02:00
Robert Müller
ba1608529e
Move message copy inside SendPackMsgTranslate
...
Fix clang warning: Address of stack memory associated with local variable 'aBuf' is still referred to by the stack variable 'tmp' upon returning to the caller. This will be a dangling reference [clang-analyzer-core.StackAddressEscape]
Mark the input parameters as const pointers and mark the protocol message `Pack` methods as const.
2022-07-11 19:02:16 +02:00
Chairn
a69dc599a9
Huge variable naming format
...
Fix pointer and pointer array variable naming
Huge renaming to match our rules
Used regex: (?!(return|delete)\b)\b\w+ (m_|ms_|g_|gs_|s_)[^a]\w+\[
(?!(return|delete)\b)\b\w+ (?!(m_|ms_|g_|gs_|s_))[^a]\w+\[
Further format static variables
Format almost all pointer names accordingly
Used regex: (?!(return)\b)\b\w+
\*(?!(m_p|p|s_p|m_ap|s_ap|g_p|g_ap|ap|gs_ap|ms_ap|gs_p|ms_p))\w+\b[^:\(p]
clang-format
Fix CI fail
Fix misnamed non pointer as pointer and non array as array
Used regex: (?!(return|delete)\b)\b\w+ (m_|ms_|g_|gs_|s_)p\w+\b
(?!return\b)\b\w+ (ms_|m_|g_|gs_|s_)a\w+\b[^\[]
clang-format
Revert to SCREAMING_SNAKE_CASE and reinstate dead code
2022-07-08 18:01:29 +02:00
Robert Müller
f3fbe891a6
Fix player input player flags translation with sixup
...
The sixup translated player flags were previously applied in `OnDirectInput` directly to the player input data.
However, the input data has already been copied at that point, so predicted inputs were using the incorrect flags.
This is fixed by moving the player flags translation to `OnClientPrepareInput`, which is called first and only once on each new player input before it is copied.
2022-07-01 00:00:17 +02:00
heinrich5991
fa4bcd5ec0
Unify logging infrastructure between IConsole
and dbg_msg
...
This makes the "black console window" less important on Windows (or
anywhere else, for that matter), lets you see logs from other threads in
the f1 console, and removes the distinction between `IConsole::Print`
and `dbg_msg`.
2022-04-29 15:21:26 +02:00
c0d3d3v
3438642dd8
fix 4781 and refactor of the client id for server demos
2022-03-07 19:03:43 +01:00
Dennis Felsing
e2c48ec47e
Don't try to send messages outside of sv_max_clients (fixes# 4750)
2022-02-21 16:33:53 +01:00
Robert Müller
843d021f82
add IServer::ChangeMap to fix change_map command
...
(cherry picked from commit 97d907304c56f643a9ed99e60c35052f950b27fb)
2021-12-15 03:36:25 +03:00
Alexander Akulich
145816b046
IServer: Change GetMapName() type to const char *
...
Partially follow upstream 77daedc814
2021-12-15 03:04:03 +03:00
Zwelf
eacd314701
Move team and practice mode recording to the beginning of the tick
2021-09-14 22:33:09 +02:00
Alexander Akulich
6b49bf1388
Make spectators stay specs on map changed
...
Based on PRs to the upstream:
https://github.com/teeworlds/teeworlds/pull/2065
https://github.com/teeworlds/teeworlds/pull/2066
Co-authored-by: Jordy Ruiz <jordy.ruiz@univ-lille.fr>
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2021-02-23 19:36:52 +03:00
Alexander Akulich
2790270abf
Adopt upstream refactoring: Mark several functions as 'const'
2021-02-23 18:26:16 +03:00
heinrich5991
246d2ac3d6
Allow IServer users to check when client's names change
...
Use that available interface to process name change spam protection more
cleanly.
2020-10-14 16:42:35 +02:00
def
3be8a592e5
Run clang-format
...
Purely automatic change. In case of conflict with this change, apply the
other change and rerun the formatting to restore it:
$ python scripts/fix_style.py
2020-09-26 21:50:15 +02:00
heinrich5991
31cfa9250d
Fix server port in teehistorian
...
Official servers weren't affected because they didn't use the default of
`sv_port 0`.
2020-08-29 14:14:37 +02:00
Zwelf
2eb3d23ef4
Rewrite score using the new interface
...
delete file_score for now as it will be replaced by a sqlite backend
2020-08-03 12:58:52 +02:00
def
66c7bf8851
Tell why DNSBL isn't allowing to vote ( fixes #2466 )
2020-07-07 23:12:55 +02:00
Learath
f327e5bc42
Log join type
2020-06-23 18:30:57 +03:00
heinrich5991
e294da41ba
teehistorian: Track whether clients join via the 0.7 protocol
2020-06-19 22:06:39 +02:00
Learath
4067e711ef
More template magic. Cleans up 'send-to-all-sixup'
2020-06-19 20:28:55 +03:00
Learath
9e2434c65d
Better skin colors. Better game message translation
2020-06-19 20:28:55 +03:00
Learath
eff28c658a
Fix server messages
2020-06-19 20:28:55 +03:00
Learath
40247f6b43
Fix chat
2020-06-19 20:28:55 +03:00
Learath
807c92f1a4
Generate the 0.7 protocol
2020-06-19 20:27:15 +03:00
Tim Schumacher
442148a194
Begin work on 0.7 support
2020-06-19 20:27:15 +03:00
heinrich5991
0d7872c79e
Send DDNet version early in the connection process
...
This gets rid of the problem that we don't know whether we should send
full snapshots to clients because they haven't told us about them being
DDNet yet.
2020-05-22 17:58:41 +02:00
Learath
5e02bb5a23
Extend antibot interface
...
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-05-13 23:39:40 +03:00
oy
1b4131a7fd
fixed faulty message id
...
(cherry picked from commit 9023796d27
)
2020-01-19 21:30:12 +01:00
Learath2
79e4651d5b
Only update serverinfo when needed
2019-11-03 01:07:10 +01:00
ChillerDragon
b39de87b18
Fix filescore path
...
# before fix
$ ./DDNet-Server 'sv_map "DDNetPP-maps/BlmapChill"'
[...]
[2019-09-15 13:29:44][filescore]: opening 'records/DDNetPP-maps-BlmapChill_record.dtb' for reading failed
# after fix
$ ./DDNet-Server 'sv_map "DDNetPP-maps/BlmapChill"'
[...]
[2019-09-15 13:31:05][filescore]: opening 'records/BlmapChill_record.dtb' for reading failed
2019-09-15 13:35:35 +02:00
12pm
a7ef921e3f
Add playerflags, dnsbl, and ips for non-admins in status
2019-04-03 15:07:05 +02:00
Learath
548e9969b2
Add colors for authed players. Deprecates #1299
2019-03-02 13:50:33 +03:00