Commit graph

424 commits

Author SHA1 Message Date
def 62dc12aacb Fix all Multiplication type alerts by CodeQL
> Multiplication result converted to larger type

> A multiplication result that is converted to a larger type can be a
> sign that the result can overflow the type converted from.

Example: https://github.com/ddnet/ddnet/security/code-scanning/17?query=ref%3Arefs%2Fheads%2Fmaster
2020-10-05 19:03:54 +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
def cfd32c357b Fix clang-format 2020-09-21 15:32:16 +02:00
def 35fc180559 Finish /showothers 2 implementation on server 2020-09-21 15:32:16 +02:00
Arda Demir fabc194081 Flag afk when player timed-out 2020-08-10 21:59:31 +03:00
bors[bot] 37a906d972
Merge #2501
2501: Show "Free View" for Sixup r=fokkonaut a=Learath2

@fokkonaut is this enough?

bors delegate=fokkonaut

Co-authored-by: Learath <learath2@gmail.com>
2020-07-13 09:50:48 +00:00
Learath 85a2268b2a Show "Free View" for Sixup 2020-07-13 11:35:03 +03:00
bors[bot] 38ea723d94
Merge #2433 #2505 #2506
2433: Fix votes for sixup r=heinrich5991 a=Learath2

I think this looks sane but I haven't tested it at all for idk how to even test this locally/alone

2505: Fix legacy 64 player serverinfo, don't send duplicate packets (fixes #2495) r=heinrich5991 a=def-

For legacy we sent the first packet once correctly, then the 2nd and 3rd
packet without the marker and token at the start, so they never worked.

For new 64 player serverinfo we sent all packets correctly but the 1st
packet twice.

Introduced in #1955.

2506: Prevent whisper spam from 0.7 (fixes #2504) r=heinrich5991 a=def-



Co-authored-by: Learath <learath2@gmail.com>
Co-authored-by: def <dennis@felsin9.de>
2020-07-12 22:58:23 +00:00
def 5e7a45a49b Set smaller default area for what distance to show
as suggested by fokkonaut
2020-07-08 23:16:30 +02:00
Learath 95d363b42c Fix votes for sixup 2020-07-07 13:14:07 +03:00
Learath f9bf6cf354 Spam protection on /rank 2020-07-01 23:53:25 +03:00
Zwelf b99bbccd24 Revert "Revert "Fix /save on solo server""
This reverts commit 59a7e1f187.
2020-06-30 20:22:17 +02:00
def 59a7e1f187 Revert "Fix /save on solo server"
This reverts commit 506602d472.
2020-06-30 18:41:22 +02:00
bors[bot] b96544f8ac
Merge #2413
2413: Fix showothers for specchar r=heinrich5991 a=edg-l

Fixes https://github.com/ddnet/ddnet/issues/2410

I also made it use the Alpha on specchars that are on another team.

Co-authored-by: Edgar <git@edgarluque.com>
2020-06-30 12:45:18 +00:00
def 49ba9078f5 Fix out of bounds read in CPlayer::Snap with IsSixup (fixes #2416) 2020-06-30 14:08:55 +02:00
Edgar eb1779f58c
Fix showothers for specchar 2020-06-30 14:04:41 +02:00
bors[bot] a79b1265df
Merge #2401
2401: Client tells server its zoom level (fixes #2087) r=heinrich5991 a=def-

and server adapts the visible distance to it

Co-authored-by: def <dennis@felsin9.de>
2020-06-30 10:01:01 +00:00
Zwelf 506602d472 Fix /save on solo server
Fixes #2404
2020-06-29 19:34:21 +02:00
def 1782d95d99 Client tells server its zoom level (fixes #2087)
and server adapts the visible distance to it
2020-06-29 18:59:07 +02:00
bors[bot] 97c7525438
Merge #2368
2368: Make spec character rendering a bit cleaner r=def- a=heinrich5991



Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-06-25 16:18:20 +00:00
heinrich5991 8c095b2727 Make spec character rendering a bit cleaner 2020-06-25 14:56:23 +02:00
bors[bot] df66d83a04
Merge #2356
2356: Make game less dependend on score backend r=heinrich5991 a=Zwelf

Behavior change:
* `sv_save_worse_scores` is respected on file based servers

Mainly a clean up after #2247, but helps #2298 too

Co-authored-by: Zwelf <zwelf@strct.cc>
2020-06-25 10:40:02 +00:00
Zwelf a8abc3937b Make game less dependend on score backend 2020-06-25 12:36:01 +02:00
Edgar 2f3073c547
fix /spec hook 2020-06-25 10:12:17 +02:00
bors[bot] 677d92aa32
Merge #2353
2353: Fix /spec rendering r=def- a=edg-l

Fixes https://github.com/ddnet/ddnet/issues/2344

Co-authored-by: Edgar <git@edgarluque.com>
2020-06-24 19:29:29 +00:00
Edgar b33180ae77
fix /spec rendering 2020-06-24 19:01:01 +02:00
def 5b3b42b771 Make it more clear that this is a sixup translation server 2020-06-24 14:49:23 +02:00
Learath ce5aca4759 Check for a null CPlayer::m_pCharacter
Players need not have characters at all times
2020-06-23 01:36:51 +03:00
bors[bot] 6384ebf13f
Merge #2321
2321: Use the 0.7 race features better r=def- a=Learath2

Mostly tested, couldn't test the diffs though as I don't have score set up. It looks good to me though.

Co-authored-by: Learath <learath2@gmail.com>
2020-06-22 16:04:18 +00:00
bors[bot] 39eae1935b
Merge #2312
2312: Fix crash when player voting random_map leaves and vote passes r=def- a=Zwelf

Closes #2310 

Co-authored-by: Zwelf <zwelf@strct.cc>
2020-06-22 05:47:46 +00:00
Zwelf b96d8673f3 Fix crash when player voting random_map leaves and vote passes
Closes #2310
2020-06-22 00:47:49 +02:00
Learath 35acd21933 Use the racetimer in 0.7
Clean up /timer while at it
2020-06-21 17:15:08 +03:00
Learath 865afa613b Ingame time is in milliseconds 2020-06-20 17:31:06 +03:00
Zwelf 67643e82b0 Make PlayerResult messages an union variant
as it is only used for DIRECT and ALL variants and for no other variants
2020-06-20 14:04:08 +02:00
Learath 6db72b2388 Times are no longer negative in 0.7 2020-06-20 11:59:46 +03:00
Learath 1d4ea6c41b Drop clients properly 2020-06-19 20:28:55 +03:00
Learath effa964f08 Translate playerflags 2020-06-19 20:28:55 +03:00
Learath 4067e711ef More template magic. Cleans up 'send-to-all-sixup' 2020-06-19 20:28:55 +03:00
Learath 9dc1a0357a Get /spec working 2020-06-19 20:28:55 +03:00
Learath e81c718180 Rework netobjs, fix chat 2020-06-19 20:28:55 +03:00
Tim Schumacher 442148a194 Begin work on 0.7 support 2020-06-19 20:27:15 +03:00
def 6fcb8abbd0 Initialize m_SqlRandomMapResult (fixes #2272) 2020-06-18 08:18:33 +02:00
Zwelf f1b2ff086c Clean up thread safe SQL refactor 2020-06-17 21:15:07 +02:00
Zwelf 9f15acdbee Thread safe random_unfinished_map and modified sql statement 2020-06-15 11:14:15 +02:00
Zwelf afe96ed69c Thread safe random_map 2020-06-15 11:14:15 +02:00
Zwelf 7f4dc2bb4e Thread safe /map 2020-06-15 11:14:15 +02:00
Zwelf 13c80fdc56 Thread safe saving of score 2020-06-15 11:14:15 +02:00
Zwelf dbf6ac88f6 Thread save loading of player time and birthday 2020-06-15 11:14:15 +02:00
Zwelf 031ac52320 Thread safe /save 2020-06-15 11:14:15 +02:00
Zwelf 8fc81e7eca Reworked PlayerResult to signal finished with use_count == 1
Therefore if the sql thread crashes, the result is deleted automatically
2020-06-15 11:14:15 +02:00
Zwelf 91e286f54d Fix parsing responses from player 2020-06-15 11:14:15 +02:00
Zwelf 76c227a542 Reimplement /mapinfo command 2020-06-15 11:14:15 +02:00
Zwelf 9add354367 Use Template for SqlResult 2020-06-15 11:14:15 +02:00
Zwelf 8a22cce031 Start of sql refractor
* Use atomic integer in thread count for thread safety
2020-06-15 10:59:46 +02:00
Zwelf 2d7886bf33 Small cleanup 2020-06-15 10:59:46 +02:00
def d3b6df97f8 Fix team rejoin logic for sv_team 3 2020-05-30 14:47:34 +02:00
bors[bot] 92fc95d742
Merge #2202
2202: Send DDNet version early in the connection process r=Learath2 a=heinrich5991

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.

Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-05-27 17:49:31 +00:00
def e1849ad1bb Implement /practice for teams
As discussed on Discord today, can be enabled inside of teams on the fly
during each run on any server. Finishes don't count. I haven't tested
save/load yet, would do that live on the server if this can be merged.
2020-05-27 17:33:26 +02: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
heinrich5991 a3163c5b9c Add support for dynamically loading an antibot module
Support for this feature is turned off by default. This feature allows
to integrate with noby's anticheat feature.
2020-03-11 01:58:50 +01:00
Learath 547f751bf3 Mark players as afk initially. Fix #1797 2019-10-13 17:13:03 +02:00
d3fault 5f193d009e Properly force spawn order of teams, so dummy doesn't get strong hook. Fix #1828
Mimic old behavior of having a respawn tick > 0 ticks after current tick.
2 ticks later is still "instant enough".
The code below the change mentions strong spawning,
so without deciphering it we simply give 2 extra ticks to make sure that
it executes before spawning (2 instead of 1 so that it definitely
executes for both primary and dummy).
2019-09-30 15:42:09 -07:00
bors[bot] 0c34b6eb55
Merge #1878 #1903
1878: Add paused and spec to explayerflags r=Learath2 a=Ryozuki

I think client should know about this, maybe we can do something with it in the future.

It also may help with https://github.com/ddnet/ddnet/issues/259 but i didn't figure out yet a way to fix it.

1903: Consistent spacing for getters and setters r=Learath2 a=ChillerDragon



Co-authored-by: Ryozuki <ryo@ryozuki.xyz>
Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
2019-09-15 13:41:19 +00:00
fokkonaut 3434fca91c Dont reset variables twice 2019-08-12 05:28:42 +02:00
Ryozuki e112cf6791
add paused and spec to explayerflags 2019-08-02 18:16:58 +02:00
Learath 9061f03174 Move the afk flag up front 2019-07-29 14:46:29 +03:00
Arda fb2cb4db26 move afk state inside to player flags 2019-07-26 11:48:15 +03:00
Arda f1454dbb7a Share afk state of players to client 2019-07-13 12:25:24 +03:00
Learath efbc05c9a8 No need for <algorithm> 2019-06-13 23:24:06 +02:00
trml fbf5edfdcb Set and send solo status on servers with sv_solo_server and sv_team 3 2019-06-13 17:23:23 +02:00
d3fault 10e06f919e respawn is now instant, but rate limited to 3 sec unless player clicks mouse1 2019-06-07 02:44:19 -07:00
fokkonaut e471d4796e Remove the unused Skinstealaction 2019-06-04 17:23:29 +02:00
fokkonaut 75e13550c2 Convert to int 2019-06-03 11:57:46 +02:00
fokkonaut 078e88bc8f Cleanup CPlayer Snap 2019-06-03 11:35:18 +02:00
Learath c2a774275f Move AuthInfo into DDNetPlayer 2019-05-21 10:25:15 +02:00
Learath 93d14a1eca Inconvenience for windows 2019-04-26 22:36:49 +03: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
trml b9f301018f Remove nesting 2019-02-11 22:25:51 +01:00
trml 3f9d30af0f Sync weapon input with other inputs 2019-01-29 20:58:25 +01:00
def bcdec941da Update view target when spectating with chat open
Thanks to ReiTW for reporting and illustrating the bug:
https://www.youtube.com/watch?v=LKicYqtqJbQ
2018-12-29 00:05:05 +01:00
def 87fa394daa Add Christmas skin event for client 2018-12-23 22:58:30 +01:00
Dennis Felsing f83a9be610 Sneaky code (TODO: Also mark 708?) 2018-12-17 14:55:58 +01:00
Dennis Felsing 5c18d6c481 Remove /modhelp (fixes #1401) 2018-12-12 10:05:44 +01:00
Dennis Felsing b224a4dafe Improve sv_join_vote_delay against vote bots
- Prolong to 5 minutes
- also affects participating in votes
2018-12-11 10:29:36 +01:00
Dennis Felsing fabd559746 Clamp Spectator ID 2018-12-11 09:23:12 +01:00
Ryozuki dc4179b056 it's safe to delete a null pointer 2018-08-24 20:02:23 +02:00
bors[bot] ebb9481857 Merge #1157 #1160
1157: Add a way to call for external moderator help r=Learath2 a=heinrich5991

This is done by HTTP POSTing to a location specified by
`sv_modhelp_url`. We also provide a `src/modhelp/server.py` which can
use theses POSTs to forward them to Discord servers.

The POST contains a JSON object payload, with the keys `"port"` which
contains the server port, `"player_id"` which contains the calling
player's client ID, `"player_name"` which contains the calling player's
nick and `"message"` which is the user-specified message.

Make JSON-escaping function public, add tests and fix bugs uncovered by
these tests.

Supersedes #1129.

1160: Fix warning about incompatible function pointers r=Learath2 a=heinrich5991

This comes at the cost of one allocation per started thread. This should
be okay because we're about to invoke a syscall anyway.

Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2018-06-24 14:12:48 +00:00
heinrich5991 7b76208431 Use m_ModhelpTick to store the last modhelp action
This addresses @Learath2's comment.
2018-06-24 11:15:16 +02:00
heinrich5991 57e26450b2 Unify spelling of Modhelp
Since the command name is `/modhelp` it should be written `Modhelp` in
camel case.
2018-06-24 11:03:18 +02:00
heinrich5991 c739aef60e Some style fixes 2018-06-19 14:28:53 +02:00
ZombieToad 99d0360947
fix pause messages
they were reversed
2018-06-14 22:41:28 +01:00
Dennis Felsing f8a00ad8af
Merge pull request #1000 from Ryozuki/pr_modhelp_chat_cmd
Add /modhelp chat command
2018-04-03 10:21:01 +02:00
yangfl 1620fc9b0f Fix typo 2018-02-07 16:10:40 +08:00
def c73e2a7ba8 New year is on January 1, not February 1 2018-02-01 20:22:18 +01:00
heinrich5991 a744fe53a2 Remove CPlayer::m_Authed
This can't get out of sync now.
2018-01-27 23:13:17 +01:00
Ryozuki 79fedff12d add /modhelp chat command 2018-01-21 01:32:55 +01:00
Ryozuki d6eb604718 add rcon moderate mode 2018-01-05 15:23:08 +01:00
def 03fa475b5e Implement /pause [name] and /spec [name] 2017-09-18 19:12:01 +02:00
def 0a09af4b33 str_format instead of sprintf 2017-09-03 09:01:25 +02:00
def 862e26dd08 Clean up time handling a bit 2017-09-03 08:48:21 +02:00
def 4c98c4bdd6 typo 2017-07-23 21:34:36 +02:00
def 79d29b1e31 Fix: Finish score should always show the fastest time 2017-07-23 21:33:55 +02:00
Dennis Felsing bcb30c860e Merge pull request #761 from Learath2/dd_pr_vanillapause
Can't spectate yourself when /pause'd
2017-07-09 23:15:57 +02:00
def 46cedf3a8c Compiler warnings 2017-07-09 10:27:58 +02:00
eeeee 9b6699d3b8 remove casts to CServer
improving encapsulation by going through the interface instead of including engine/server/server.h
2017-06-05 20:51:12 -07:00
Learath2 6a6666abc4 Keep pause state when killed 2017-05-24 22:30:28 +02:00
Learath2 cf81ef8ce6 Can't spectate yourself when /pause'd 2017-05-19 00:21:01 +02:00
def c1c2c1575f Fix some vanilla pause issues 2017-05-18 23:52:54 +02:00
def a7ee59804b Reverse... 2017-05-16 17:52:29 +02:00
Dennis Felsing 666d1585b7 Fix crash on invalid pause state in save 2017-05-16 17:02:28 +02:00
Learath2 b4b5d6cc9e /pause'd players stay in player list 2017-05-15 13:56:54 +02:00
Dennis Felsing 278b17b460 Merge pull request #721 from Learath2/dd_pr_pause
Rework the pause system
2017-05-14 11:55:09 +02:00
Learath2 c1a4a95d61 Add ratelimiting and config options for invite 2017-04-24 14:04:50 +02:00
Learath 95690a1cf7 Reimplement sv_pause_frequency 2017-04-09 01:16:48 +02:00
Learath 5626259b27 Rework pause. Fixes force_pause 2017-04-09 00:20:41 +02:00
necropotame b6548aa8cf Fix wrong code convension, add enum for timer display type 2017-02-28 07:31:24 +01:00
necropotame 4cfe96801b Send the race time using warmup timer 2017-02-28 07:31:24 +01:00
heinrich5991 c08206dd96 Don't show player HUD during /pause for vanilla clients 2016-09-20 21:40:40 +02:00
def 3c54f443b2 Make sv_join_vote_delay work for /map votes and make the number of seconds configurable 2016-05-20 20:05:47 +02:00
Ryozuki 82d2a994ed Fixed cl_showping (now cl_showpred) 2016-05-05 18:07:00 +02:00
Ryozuki 5c7856ee59 Added cl_showping 2016-05-03 16:06:10 +02:00
H-M-H e39829ef7c killer of locked team will get strong hook on respawn 2016-03-04 22:55:12 +01:00
H-M-H 42a68636b5 tweaked respawndelay a bit 2016-02-02 21:14:46 +01:00
H-M-H cb1c63c652 Merge pull request #410 from heinrich5991/pr_ddnet_join_vote_delay
Add sv_join_vote_delay
2016-01-29 12:58:05 +01:00
def 0a49428e21 Veto considers time on server not in current race 2016-01-27 02:14:46 +01:00
heinrich5991 90ba4c5986 Make join vote delay the default 2016-01-22 17:44:53 +01:00
heinrich5991 957844e234 Add comment about when sv_join_vote_delay doesn't apply 2016-01-21 00:09:11 +01:00
heinrich5991 384668928b Add sv_join_vote_delay
This is a new delay that specifies how many seconds you have to wait
before making your first vote. In case the server was only recently
filled (e.g. by a map change or if people start joining an empty
server), this delay is disabled (in the first case, because it's normal
to join after a map change, in the second case because you might have
joined the empty server to vote for a different map).
2016-01-19 23:52:28 +01:00
def 727ea434d4 Increase magic number a bit until we assume client is not DDNet 2015-08-07 03:26:50 +02:00
def b3592380d1 Re-enable broadcast for old DDNet client version 2015-07-04 14:12:49 +02:00
def 87ebb2f03e Defer character kill from thread to prevent race conditions 2014-12-07 03:42:43 +01:00
def 93d0f43a6a Broadcast about DDNet client delayed a bit (fixes #72) 2014-11-25 20:33:21 +01:00
east 630fd4fa07 sending vote options balanced 2014-10-26 19:39:42 +01:00
def 5cb861c331 Disable old client display for now since it's not working with dummy 2014-10-12 18:49:46 +02:00
def 3ff6b951c1 Configurable messages 2014-10-12 12:51:54 +02:00
def 517f1a80ea Add notification for old client 2014-10-12 12:49:44 +02:00
def fda12b88bf Make sv_client_suggestion optional 2014-10-12 11:35:36 +02:00
def 6333583141 Display message about DDNet client to players not using it 2014-10-12 11:33:36 +02:00
def 3804c16f02 Fix a bunch of crashes on server demo recording 2014-09-26 03:20:47 +02:00
def 741cf8f8c7 Cleanup & Halloween event 2014-09-18 12:14:00 +02:00
def 4473fd504b Indentation 2014-08-31 14:12:03 +02:00
def f1e4700ae8 Add a timeout protection message 2014-08-17 05:04:37 +02:00
def 2980bd77e8 Add /specteam 2014-08-09 19:53:38 +02:00
def f859f350ca Kind of working with timeout code 2014-08-09 17:25:29 +02:00
def 4af575654b Kind of working 2014-08-09 14:50:51 +02:00
def 145f0434f5 Add /save by the glorious HMH 2014-07-26 14:46:31 +02:00
def e69987cc93 Hopefully fix spectating 2014-06-22 15:16:34 +02:00
def 4c87cedd4d Better make sure that something exists before using it 2014-05-19 01:57:52 +02:00
def 7133545e1a Formatting 2014-04-18 14:50:15 +02:00