Commit graph

2790 commits

Author SHA1 Message Date
Learath 5d4461981a Fix solo bug 2019-04-23 19:46:51 +03:00
Learath 67668d7fb2 Use freeze end tick instead of a flag. Fix #1659 2019-04-23 18:57:26 +03:00
bors[bot] 34542e64b5 Merge #1655
1655: Add delete projectiles on death settings r=def- a=12pm

Need this for a map fix and doesn't hurt to have for grenades too I guess. Defaults are still the same

Co-authored-by: 12pm <30786226+12pm@users.noreply.github.com>
2019-04-23 14:43:23 +00:00
12pm a83e3e0d9a Add delete projectiles on death settings 2019-04-21 20:17:41 +02:00
trml 0b3f3b03b5 Rewrite of prediction code, with additional prediction 2019-04-21 16:12:20 +02:00
Ryozuki 7d4fdb3322
update the core server-side 2019-04-21 15:16:28 +02:00
Ryozuki 6bfdad9771
fix super and solo 2019-04-21 14:57:45 +02:00
Ryozuki eaef31d4a0
fix wording and add/fix no col and no hook 2019-04-19 11:59:09 +02:00
Ryozuki 0f3411f8fa
fix wording 2019-04-19 11:46:54 +02:00
Ryozuki f37f8a8268
add all character flags to ddnetnetwork character 2019-04-19 11:17:28 +02:00
bors[bot] bbf485a9ac Merge #1628
1628: Make client know about other solo players, fixes #258 r=heinrich5991 a=Ryozuki

When another player is in solo and you are not, you could notice a weird collision and also the hook moving a little towards the solo player. This as been fixed.

It also applies m_ClShowOthersAlpha to other players whenever you are on solo or others are.

It uses the protocol extension thingy.

fixes #258 

Co-authored-by: Ryozuki <ryo@ryozuki.xyz>
Co-authored-by: Learath <learath2@gmail.com>
2019-04-18 23:03:52 +00:00
12pm 997e01bf31 Fix mute typo 2019-04-18 20:54:22 +02:00
Learath d6bfef2cc0 Use a NetObj instead of a system message 2019-04-17 23:47:32 +02:00
Dennis Felsing 6e74d9d728 remove debugging 2019-04-17 14:12:35 +02:00
Dennis Felsing b425495f45 Fix draggers 2019-04-17 12:58:53 +02:00
def 9dddb290dd File score: Implement negative top5 (fixes #1631) 2019-04-15 18:55:33 +02:00
Dennis Felsing aad18ebb86
Merge pull request #1624 from ChillerDragon/pr_refactor_mute
Refactor mute and vote mute code
2019-04-13 17:52:55 +02:00
ChillerDragon deaab4bb4b Add functions instead of goto 2019-04-12 19:50:02 +02:00
Ryozuki c686ceea53
Merge branch 'master' into pr_fix_solo 2019-04-12 16:34:43 +02:00
Ryozuki 3556830b9a
fix solo prediction 2019-04-12 16:29:13 +02:00
Ryozuki 7e43120b6e
make the client aware of other players solo status 2019-04-12 16:16:21 +02:00
bors[bot] 826a7781ae Merge #1621
1621: Actually enable -Wuseless-cast r=heinrich5991 a=def-

It's not supported in C and we only checked using a C compiler.

Co-authored-by: Dennis Felsing <dennis@felsin9.de>
2019-04-12 00:08:19 +00:00
ChillerDragon a6d00973e1 Refactor mute and vote mute code 2019-04-11 20:10:04 +02:00
Dennis Felsing cde07b420b Implement changes suggested by -Wuseless-cast
But don't enable it yet because I'm not sure what the best way is.
2019-04-11 19:54:43 +02:00
bors[bot] cde3781184 Merge #1616
1616: Minor CFileScore improvements r=heinrich5991 a=def-

It's written using STL strings and files intead of using system. Didn't change any of that because of the risk of breaking something unintentionally.

Co-authored-by: def <dennis@felsin9.de>
2019-04-11 09:41:01 +00:00
def 0a286b1d94 File score: report file opening errors 2019-04-11 08:15:14 +02:00
fokkonaut 15658b3b10
removed brackets 2019-04-10 22:13:10 +02:00
def 279d6e60ca No duplicate () on rank 2019-04-10 22:05:44 +02:00
fokkonaut b92607eb7d
fix no score when joining when using file based score 2019-04-10 21:40:31 +02:00
Dennis Felsing ed34dcfec5
Merge pull request #1602 from def-/pr-explain-tiles
Explain game tiles and entities in editor (fixes #1600)
2019-04-10 17:38:22 +02:00
bors[bot] b05b268a6a Merge #1598 #1601 #1605 #1606 #1607 #1609
1598: Fix home/end keys in console r=heinrich5991 a=def-



1601: 2 more tries to force DB to respond in UTF8 (fixes #1599) r=heinrich5991 a=def-



1605: Fix memory leak in draggers r=heinrich5991 a=def-



1606: Always initialize m_InfosLoaded r=heinrich5991 a=def-

otherwise it's uninitialized and then read, found by valgrind --tool=memcheck

1607: Enable a few more GCC warnings r=heinrich5991 a=def-



1609: Fix C90 compatibility on Windows r=heinrich5991 a=def-



Co-authored-by: def <dennis@felsin9.de>
2019-04-09 22:09:18 +00:00
def 708019c675 Grammar fix: Catched -> Caught 2019-04-08 21:54:33 +02:00
def 173b43d487 Fix memory leak in draggers 2019-04-08 21:54:12 +02:00
12pm 7b95d38bf3 Fix crash when draggers don't have a number 2019-04-08 21:47:22 +02:00
def eda16acbca Explain game tiles and entities in editor (fixes #1600)
- Explanations by Lady Saavik taken from https://ddnet.tw/explain/
- CCW/CW were mixed up in enum names, fixed
- Make sure that the texts fits, otherwise reduce font size
- Still need explanations for Portal tiles
2019-04-08 19:39:56 +02:00
Ryozuki be708d0498
a mess 2019-04-07 21:18:43 +02:00
Ryozuki 813c24bf29
add m_IsSolo and fix hook col 2019-04-07 18:58:49 +02:00
bors[bot] 4931d00201 Merge #1589
1589: Remove some code duplication in CSaveTee::LoadString r=def- a=def-

by using a switch-case with fallthroughs, seems like the perfect use case.

Co-authored-by: def <dennis@felsin9.de>
2019-04-07 12:01:59 +00:00
bors[bot] 5d9d0d7d35 Merge #1587
1587: Small fixxings r=heinrich5991 a=ChillerDragon



Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
2019-04-06 21:08:40 +00:00
def e27679ebcc Remove some code duplication in CSaveTee::LoadString
by using a switch-case with fallthroughs
2019-04-06 20:28:47 +02:00
Ryozuki 52b58c3d5b
final fix 2019-04-06 18:38:25 +02:00
Ryozuki 69fd7f1767
fix and add gameuuid 2019-04-06 18:37:25 +02:00
Ryozuki fb398ebcbf
better this way 2019-04-06 18:19:56 +02:00
Ryozuki beeda4d7bb
fix warnings 2019-04-06 18:18:46 +02:00
Ryozuki b92b2f1878
save telegun on /save 2019-04-06 18:13:11 +02:00
ChillerDragon 905204781b Cleanup if nesting 2019-04-06 17:22:15 +02:00
12pm a7ef921e3f Add playerflags, dnsbl, and ips for non-admins in status 2019-04-03 15:07:05 +02:00
def ef0e685496 Make timestamp consistent in scores
The motivation is to have the exact same timestamp for every member
finishing in a team and the team rank as well. This makes the database
more consistent and tooling easier.
2019-04-02 20:18:40 +02:00
Dennis Felsing 2dd78b6568 Command completion for /times, /points and /top5points
Still not implemented for file based servers of course
2019-03-29 14:39:48 +01:00
Dennis Felsing d12ad9d05f
Merge pull request #1548 from def-/pr-vote-mute
Remove vote mute after it expired (fixes #1544)
2019-03-28 23:38:45 +01:00
def 09412f43f7 Remove vote mute after it expired (fixes #1544) 2019-03-28 23:35:51 +01:00
def c489fb61be After a char was killed stop processing further tiles 2019-03-28 23:29:34 +01:00
12pm 34c99f5944 Don't enforce own votes when moderating
It's counterintuitive, and hence way too risky
2019-03-21 02:57:22 +01:00
Dennis Felsing 1add4a0819 Only print team join message when not in team already (fixes #1524) 2019-03-20 14:01:32 +01:00
def 1e4890c499 More error checking in system.c (fixes #1317) 2019-03-19 23:16:29 +01:00
Ryozuki 6ed3276d20
fix formatting 2019-03-19 20:32:01 +01:00
Ryozuki e00e9f126a
add vote_mutes 2019-03-19 20:25:21 +01:00
Ryozuki 43a1990e5d
ConVoteUnMute -> ConVoteUnmute 2019-03-19 20:18:11 +01:00
Ryozuki d469654629
add vote_unmute and display on chat 2019-03-19 20:07:33 +01:00
12pm 679628c4eb Exclude current map on random map votes 2019-03-18 15:10:27 +01:00
bors[bot] d8e8a21a30 Merge #1469
1469: Don't use strtok. Close #1468 r=heinrich5991 a=Learath2

^

Co-authored-by: Learath <learath2@gmail.com>
2019-03-11 11:56:26 +00:00
bors[bot] 26dc51a272 Merge #1466
1466: Add colors for authed players. Deprecates #1299 r=def- a=Learath2

Not sure if a snap item is the best idea for this but it should help with not sending the data more then needed and keeping it properly updated. The colors aren't great now but we can fix that easily.

![image](https://user-images.githubusercontent.com/490500/53680889-607bf780-3cf2-11e9-84a0-579160e9e170.png)


Co-authored-by: Learath <learath2@gmail.com>
2019-03-06 13:44:28 +00:00
Learath c4af290df5 Don't use strtok. Close #1468 2019-03-05 12:46:29 +03:00
Learath 548e9969b2 Add colors for authed players. Deprecates #1299 2019-03-02 13:50:33 +03:00
def afa1e8adc5 Uninvite kicked/spectated players from team (fixed #1464) 2019-03-01 22:11:00 +01:00
def 887d1c8401 Simplify some server messages 2019-02-27 19:46:01 +01:00
bors[bot] dfa16e37ba Merge #1462
1462: Remove empty else branch r=def- a=ChillerDragon



Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
2019-02-25 19:21:04 +00:00
ChillerDragon a34d9633ad Remove empty else branch 2019-02-25 20:16:05 +01:00
def 21a938d983 Update credits 2019-02-15 11:10:44 +01:00
def 374529b452 Update credits 2019-02-15 10:59:34 +01:00
Dennis Felsing 6f3d261b73
Merge pull request #1441 from trml/pr_sync_weapon_input
Sync weapon input with other input
2019-02-14 10:27:52 +01:00
Dennis Felsing 698a3f1c5a
Merge pull request #1443 from ChillerDragon/AutobanKnownBots
Add autoban depending on client version
2019-02-13 12:04:51 +01:00
trml b9f301018f Remove nesting 2019-02-11 22:25:51 +01:00
Learath 109983da21 Remove use of strtok 2019-02-11 18:53:30 +01:00
Learath 0086452757 Use str_in_list, generalize further 2019-02-11 18:52:40 +01:00
bors[bot] ea6f76b383 Merge #1438 #1447 #1448
1438: Add man pages with asciidoc r=def- a=Ryozuki

Fixes #1240 

I added a simple script to generate the man pages.

To edit the man pages in the future, you must edit the `.adoc` files and then run generate.sh

You need asciidoc package to generate the manpages.

`sudo apt install asciidoc`

http://asciidoc.org/

Writing plain troff is a pain in the ass.

1447: Allow vote-kicking players with same auth level r=def- a=12pm

This is meant to help with dealing with trolls on test server since everyone can log into rcon there.
Shouldn't cause any problems anywhere else, I think.

1448: Require sv_vote_kick_min only on team 0 kick votes r=def- a=12pm



Co-authored-by: Ryozuki <ryo@ryozuki.xyz>
Co-authored-by: 12pm <30786226+12pm@users.noreply.github.com>
2019-02-10 10:23:08 +00:00
12pm f2cbb9d87d Make teleporting to where you look at convenient 2019-02-09 19:32:45 +01:00
12pm 1cf73b3eec Abort votes only if auth level is higher 2019-02-08 19:43:07 +01:00
12pm 10e4fcc185 Require sv_vote_kick_min only on team 0 kick votes 2019-02-08 18:44:11 +01:00
12pm 4b1651f18c Allow vote-kicking players with same auth level 2019-02-08 16:57:39 +01:00
ChillerDragon c0157db98d Neutral kick reason 2019-02-06 14:53:22 +01:00
ChillerDragon eaf61b662d Never ban known bots 2019-02-06 14:49:41 +01:00
ChillerDragon 3f8e9613f7 Fix style 2019-02-06 13:06:28 +01:00
ChillerDragon f5b551adee Fix empty string check (ty Travis) 2019-02-04 23:33:25 +01:00
ChillerDragon 8ddb487e2b Use consisten seperators (comma not semicolons) 2019-02-04 23:12:05 +01:00
ChillerDragon 03a20d6406 Add IServer::Ban 2019-02-04 23:09:14 +01:00
ChillerDragon 867b0a66ce Fixings thanks to @Learath2 2019-02-04 22:16:09 +01:00
ChillerDragon 069b1763dd Add autoban depending on client version 2019-02-04 20:46:42 +01:00
trml 3f9d30af0f Sync weapon input with other inputs 2019-01-29 20:58:25 +01:00
12pm 3d01e59878 Fix switch_open description 2019-01-27 20:09:33 +01:00
def 22ea30a7f5 Fix crash 2019-01-10 21:11:23 +01:00
def f5e8b9d822 Fix potential inconsistencies in rank/teamrank 2019-01-10 09:32:23 +01:00
def 7f8b1ecf21 Fix saves sql insert format for file fallback 2018-12-30 00:31:29 +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
def a38d0068e1 Fix specvoted/pausevoted behaviour
Now switches immediately to the voted person if there is one instead of
switching back to unpaused first
2018-12-23 22:57:28 +01:00
Dennis Felsing fcf2a16aef Add toggle_tune 2018-12-20 09:18:22 +01:00
Dennis Felsing e076d07f5f
Merge pull request #1408 from ddnet/sneaky
Sneaky code (TODO: Also mark 708?)
2018-12-18 12:16:53 +01:00
Dennis Felsing 5026ba555d Fallback for /save when DB unreachable 2018-12-18 12:07:27 +01:00
def 6846a6ecad Fixes and stress improvements 2018-12-17 20:05:50 +01:00
Dennis Felsing f83a9be610 Sneaky code (TODO: Also mark 708?) 2018-12-17 14:55:58 +01:00
Dennis Felsing e9ee74a941
Merge pull request #1402 from ddnet/remove-modhelp
Remove /modhelp (fixes #1401)
2018-12-17 14:42:07 +01:00
Dennis Felsing 42d7f58d08 sv_join_vote_delay: Don't affect participating in map votes
Since they are already restricted by veto right
2018-12-12 10:41:31 +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
ChillerDragon aef7d76158 Allow to use pausevoted as normal pause 2018-12-10 23:20:29 +01:00
jupeyy 58e583e642 fix laser/rifle bonce delay, when server time(server ticks) are high, caused by unprecise floating point arithmetic 2018-12-07 11:06:44 +01:00
def 1a66fb9c17 Serverside special handling for 9999 second time 2018-11-21 23:21:35 +01:00
Ryozuki 90118b5a07
make it one line 2018-11-13 13:05:15 +01:00
Ryozuki 41fc33406a fix laser telegun through TELEINWEAPON tile 2018-11-10 20:47:11 +01:00
Ryozuki 62dbda204e fix entities clear and remove tele-activator from gametile as it doesn't make sense. 2018-11-04 15:50:56 +01:00
Ryozuki 674d3f00e0 add support for blue teleport gun 2018-11-03 10:26:20 +01:00
Ryozuki 3d202883c9 tele-activator: make delay be able to specify a weapon 2018-11-03 10:26:19 +01:00
Ryozuki ddf2e6af36 add tele-activator to the switch layer 2018-11-03 10:26:19 +01:00
Ryozuki c831b5e0c1 change tele-blocker to tele-activator 2018-11-03 10:26:18 +01:00
Learath 571b069b91 Small cleanup of *Mute functions 2018-10-08 21:29:33 +03:00
Learath 5b95eddca1 DRY with net_addr_comp_noport 2018-10-08 21:04:04 +03:00
Learath 1073b72965 Ignore DNSBL on "empty" servers. 2018-10-08 01:59:07 +03:00
Ryozuki dc4179b056 it's safe to delete a null pointer 2018-08-24 20:02:23 +02:00
ChillerDragon 273c545f4e Remove useless semicolon 2018-08-24 16:17:23 +02:00
Dennis Felsing 13aa154d47 Revert "Rewrite stopper code a bit"
This reverts commit 4ee5c5a781.
2018-08-24 09:34:54 +02:00
def 58927375fc Add message for failed database connection 2018-08-22 22:27:01 +02:00
Dennis Felsing 02e5fa20a0 Revert "Fix stoppers while retaining backward-compatibility"
This reverts commit e2d3e353cf.
2018-08-22 08:33:28 +02:00
Dennis Felsing d60b0db632 Revert "Add mapbug "stoppers-passthrough@ddnet.tw""
This reverts commit 25e86851d3.
2018-08-22 08:33:21 +02:00
Dennis Felsing 6f75cff582
Merge pull request #1259 from heinrich5991/pr_ddnet_mapbugs_sha256
Also use sha256 for the mapbugs stuff
2018-08-21 09:07:57 +02:00
Dennis Felsing f8e1056ea4
Merge pull request #1258 from heinrich5991/pr_ddnet_stopper_fix
Fix stoppers while retaining backward-compatibility
2018-08-21 09:06:22 +02:00
heinrich5991 67d36b695d Also use sha256 for the mapbugs stuff 2018-08-19 12:12:11 +02:00
def 311e89c79d Fix votes 2018-08-16 21:42:10 +02:00
heinrich5991 25e86851d3 Add mapbug "stoppers-passthrough@ddnet.tw"
This can be set for maps that rely on actually passing through stoppers.
2018-08-16 17:54:55 +02:00
heinrich5991 e2d3e353cf Fix stoppers while retaining backward-compatibility
Stopper behavior is only changed when the player would otherwise go
entirely through the stopper. Players can still enter a stopper as far
as the stopper can still affect them. One-way blockers have a bigger
range, and thus allow tees to enter furtherly.

A possible (manual) test map for this is test_stoppers.map, sha256sum
ed8be386e54a03d7bd7ed69fdd962c86f51f654427972d58d492c8905c8fbdb7, crc
48812a51.
2018-08-16 17:54:55 +02:00
heinrich5991 4ee5c5a781 Rewrite stopper code a bit
Remove the whole copy-and-paste mess.

A seemingly ineffective and apparently code block has been removed.
2018-08-15 17:47:07 +02:00
heinrich5991 5c4e819e44 Use str_startswith, str_endswith instead of ad-hoc implementations 2018-07-26 14:18:23 +02:00
Dennis Felsing 473048dac0 Update credits 2018-07-25 09:04:47 +02:00
bors[bot] e571dc8d93 Merge #1200
1200: Share libcurl resources across requests r=def- a=heinrich5991

Use the libcurl-share interface to share DNS cache and connections
between different requests.

If compiled with OpenSSL, libcurl can only be safely used from multiple
threads for OpenSSL >= 1.1.0, but this problem is not newly introduced
by this commit: According to libcurl-thread(3):

>OpenSSL <= 1.0.2 the user must set callbacks.
>
>https://www.openssl.org/docs/man1.0.2/crypto/threads.html#DESCRIPTION
>
>https://curl.haxx.se/libcurl/c/opensslthreadlock.html

Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2018-07-19 09:15:10 +00:00
Edgar ee756f2b1a
apparently 0 is used and NULL not... 2018-07-17 19:25:38 +02:00
Edgar ef4505e96d
we don't use nullptr in tw code 2018-07-17 19:24:10 +02:00
Ryozuki 4d7e493391 another style fix 2018-07-16 18:57:33 +02:00
Ryozuki 9cf0a60e3a remove useles brackets 2018-07-16 00:53:36 +02:00
Ryozuki 97ecd62214 fix timakro review 2018-07-16 00:43:54 +02:00
Tim Schumacher a3a4d4f519
Fix teleport rifle "backtracking" logic, now pretty sure about this 2018-07-15 23:33:49 +02:00
Tim Schumacher ea68ef201f
Initialize m_TeleGunTeleport to false 2018-07-15 23:03:30 +02:00
Tim Schumacher bbcc9aca0c Fix stopper teleport gun bug 2018-07-15 12:02:48 +02:00
Ryozuki 890c3a511e remove unused telegun function 2018-07-15 10:22:04 +02:00
Ryozuki b811d18422 make laser telegun use the new function 2018-07-15 10:22:03 +02:00
Ryozuki 2bee4a9807 remove comments and stuff that shouldn't be there 2018-07-15 10:22:02 +02:00
Ryozuki c074fdd30f fix all known bugs 2018-07-15 10:22:01 +02:00
Ryozuki 747946b291 fix style a bit 2018-07-15 10:22:00 +02:00
Ryozuki 50c84a60f7 add teleport gun/grenade/laser 2018-07-15 10:21:59 +02:00
Learath2 e2314a33c8 Let the receiver decide instead 2018-07-12 12:58:33 +02:00
Learath2 5a5c563a20 Require DNSBL check on /modhelp 2018-07-12 12:50:27 +02:00
heinrich5991 8d04e7e5e1 Share libcurl resources across requests
Use the libcurl-share interface to share DNS cache and connections
between different requests.

If compiled with OpenSSL, libcurl can only be safely used from multiple
threads for OpenSSL >= 1.1.0, but this problem is not newly introduced
by this commit: According to libcurl-thread(3):

>OpenSSL <= 1.0.2 the user must set callbacks.
>
>https://www.openssl.org/docs/man1.0.2/crypto/threads.html#DESCRIPTION
>
>https://curl.haxx.se/libcurl/c/opensslthreadlock.html
2018-07-11 20:17:21 +02:00
yangfl 81a39c229b Fix typo 2018-07-10 17:29:02 +08:00
bors[bot] 1cebe615dd Merge #1195
1195: Fix votespec on /pause (Fixes #1193) r=heinrich5991 a=ChillerDragon

I also thought about using a `` if (str_find(m_aVoteCommand, "set_team"))`` in front of the pause reset.
But then i thought its ok to unpause the VoteVictim every time.

I didn't test but i could belive that this can cause some unwanted unpause for a player with the id of the last VoteVictim on a server type vote for example. Thats why i also reset the ``m_VoteVictim`` to -1 to avoid this.

Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
2018-07-10 07:26:08 +00:00
ChillerDragon 819ae338d8 Improved pause fix (thanks to heinrich5991) 2018-07-10 00:08:57 +02:00
ChillerDragon e9807fe47c Fix votespec on /pause (Fixes #1193) 2018-07-08 04:39:36 +02:00
heinrich5991 925aff21d4 Fix all the header guards and adjust the script a little 2018-07-06 16:11:38 +02:00
Dennis Felsing 2adff3eca8
Merge pull request #1136 from heinrich5991/pr_ddnet_sha256
Use more secure hash function for map downloads
2018-06-27 08:15:19 +02:00
Dennis Felsing 079322899f
Merge pull request #1173 from ZombieToad/patch-3
fix Pain weapons bug
2018-06-27 08:08:13 +02:00
def 38767df2a4 Update credits 2018-06-26 21:19:17 +02:00
ZombieToad 4d2ee25bfb
fix Pain weapons bug
https://cdn.discordapp.com/attachments/293493549758939136/461236206131478538/PainWeaponBug.gif

because I'm new to coding it took me 2 hours to find this bug. I spent a while looking at the POWERUP_ARMOR and RemoveNinja() code wondering why it didn't work.

this bug is funny to some players so maybe you don't want to fix it. i wont mind because it was a challange for me to find it
2018-06-26 19:45:40 +01:00
Piepow 9f61424860 Fix pain emote immunity with jetpack 2018-06-25 21:11:22 -04:00
heinrich5991 ca8fcc823c Use more secure hash function for map downloads
SHA256 was chosen because it is reasonably standard, the file names
don't explode in length (this rules out SHA512) and it is supported by
basically all versions of OpenSSL (this rules out SHA512/256 and SHA3).

The protocol is changed in a backward compatible way: The supporting
server sends the SHA256 corresponding to the map in the `MAP_DETAILS`
message prior to sending the `MAP_CHANGE` message. The client saves the
SHA256 obtained from the `MAP_DETAILS` message until the next
`MAP_CHANGE` message.

For servers not supporting this protocol, the client falls back to
simply opening maps like in the previous scheme.

Remove the `map_version` tool, it is not being used and would have been
a little bit effort to update.

Use the OpenSSL implementation of SHA256 if it is supported, otherwise
fall back to a public domain one.

Fix #1127.
2018-06-24 17:04:50 +02:00
heinrich5991 125377bf2d Use <stdint.h> instead of <cstdint> 2018-06-24 17:00:21 +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 cdffd7616f More style fixes 2018-06-24 09:57:30 +02:00
heinrich5991 e5e05081a7 Make port and client ID integers on /modhelp POST 2018-06-23 19:39:38 +02:00
heinrich5991 56876c7516 Add information about whether a moderator is present to the /modhelp POST 2018-06-23 19:38:27 +02:00
heinrich5991 36694d3852 Add a way to call for external moderator help
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.
2018-06-19 23:27:35 +02:00
heinrich5991 c739aef60e Some style fixes 2018-06-19 14:28:53 +02:00
bors[bot] 048176d043 Merge #1155
1155: fix sv_skinstealaction r=Learath2 a=ZombieToad



Co-authored-by: ZombieToad <25847476+zombietoad@users.noreply.github.com>
2018-06-17 13:03:09 +00:00
bors[bot] 6850fa98bf Merge #1154
1154: Rename 'credit' -> 'credits' r=Learath2 a=ChillerDragon

It's named ConCredits and there are many people credited so i guess the plural is fitting better c;

Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
2018-06-17 12:53:18 +00:00
ZombieToad 79c3327199
fix sv_skinstealaction 2018-06-17 07:28:32 +01:00
ChillerDragon bc89e1644d Rename 'credit' -> 'credits' 2018-06-17 05:42:41 +02:00
bors[bot] d52143ffd5 Merge #1151
1151: fix veto r=heinrich5991 a=ZombieToad

before if a player entered the game and stayed before start on a server with a clock over 20 mins he would get veto

Co-authored-by: ZombieToad <25847476+zombietoad@users.noreply.github.com>
2018-06-15 07:44:28 +00:00
ZombieToad 4544d02639
fix veto
before if a player entered the game and stayed before start on a server with a clock over 20 mins he would get veto
2018-06-15 00:49:09 +01:00
ZombieToad 99d0360947
fix pause messages
they were reversed
2018-06-14 22:41:28 +01:00
ZombieToad a858b7ddcd
fix /settings stuff 2018-06-14 00:33:07 +01:00
ChillerDragon 4b6133003b Fix help for showall command
current ddnet doesn't support the '/help showall' command.
This commit should fix that.
2018-06-12 00:30:21 +02:00
Dennis Felsing e72413c43b
Merge pull request #1137 from ChillerDragon/UpdateCredits
Update credits
2018-06-06 09:49:31 +02:00
ChillerDragon 522c893812 Update credits 2018-06-06 02:40:37 +02:00
ChillerDragon 0fe419589e All hail teeworlds convention 2018-06-04 11:16:04 +02:00
Ryozuki 21d6f4f39b use cstdint also in gamecontroller.h 2018-05-29 11:38:52 +02:00
Dennis Felsing 69667d4537 Also use cstdint on non-MSVC instead of stdint.h 2018-05-29 09:15:00 +02:00
Ryozuki d539331c64 use includes first in msc in eventhandler.h 2018-05-29 09:01:35 +02:00
def 59675fe63c Rate-limit /lock (fixes #1122) 2018-05-11 22:05:32 +02:00
def a7b778977a Add sv_sql_validservernames (fixes #1123) 2018-05-11 21:57:47 +02:00
Dennis Felsing 722087ba29
Merge pull request #1091 from heinrich5991/pr_ddnet_mapbugs
Add infrastructure for preserving bugs
2018-05-07 08:27:29 +02:00
bors[bot] 97ce07a1ab Merge #1118
1118: Add vote_ban rcon command r=heinrich5991 a=ChillerDragon

Works the same as muteid.
Vote banned players aren't allowed to start or participate in votes.

Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
2018-05-01 15:04:27 +00:00
ChillerDragon d4b0ad462b Allow vote muted players to vote...
It is a feature not a bug lol. Vote muted players are still not able to call own votes but they now can vote yes or no.
2018-05-01 16:58:03 +02:00
heinrich5991 81aeb30654 Also add a console command to enable map compatibility mode 2018-05-01 12:38:33 +02:00
def 8225077d17 Explicit type conversion 2018-04-30 18:22:31 +02:00
def c594a59569 /timeout without parameter: Try to reclaim using already set timeout code 2018-04-29 16:01:01 +02:00
def 5473012a6d /showall: Only print message if state changed 2018-04-29 15:57:57 +02:00
ChillerDragon d6be41d7ab Fix style and imporve performance 2018-04-21 18:45:33 +02:00
ChillerDragon 32189f8485 Pointer naming convention 2018-04-19 11:51:10 +02:00
ChillerDragon c1952d3ff1 'VoteBan' -> 'VoteMute' 2018-04-19 11:49:18 +02:00
ChillerDragon 6b26751eba Fixes style and shows ban message only in console 2018-04-19 11:01:27 +02:00
ChillerDragon 835f560013 Add vote_ban rcon command 2018-04-18 19:26:49 +02:00
Edgar 2ece3f36b7
remove periods 2018-04-17 19:35:25 +02:00
Ryozuki 07bc652896 add showall message 2018-04-17 17:52:35 +02:00
heinrich5991 f8277267a0 Remove mem_alloc and mem_free, use standard C functions instead
Replace `mem_free` by `free`, and `mem_alloc` by `malloc` or `calloc`
(the latter one being used to allocate a zeroed array of elements,
sometimes, this makes a call to `mem_zero` superfluous).

This results in having to remove `mem_stats` which previously recorded
the number of allocations and their size that the Teeworlds code did
directly.

Remove OOM handling in `src/game/client/components/binds.cpp`.

Remove needless copying in the CSV code in
`src/game/client/components/statboard.cpp`.
2018-04-09 11:56:39 +02:00
def b504ae60fb Improve wording in moderation messages 2018-04-07 16:51:17 +02:00
def 6d3b8f2d36 fix2 2018-04-04 20:41:05 +02:00
def 03ee53eaf1 space 2018-04-04 20:11:24 +02:00
def 30679364f5 Fix 2018-04-04 20:03:05 +02:00
def 8d98bd4e9f Projectiles explode per team 2018-04-04 19:48:46 +02:00
Dennis Felsing 5a53e4c54d Fix compilation 2018-04-03 10:27:19 +02: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
Dennis Felsing 256845c824
Merge pull request #1072 from ChillerDragon/Broadcasts
Add broadcast importance (fixes #669)
2018-04-03 10:15:01 +02:00
heinrich5991 b9cdacbb37 Try to unfix the grenade bug for the map "Binary" 2018-03-24 14:01:01 +01:00
heinrich5991 4576dae6aa Add infrastructure for special-casing maps 2018-03-24 14:00:41 +01:00
bors[bot] 1e15b97543 Merge #1088
1088: Only count distinct client IP addresses for minimum player vote count r=heinrich5991 a=heinrich5991
2018-03-20 10:21:49 +00:00
heinrich5991 08e2c843a1 Only count distinct client IP addresses for minimum player vote count 2018-03-18 20:53:05 +01:00
Chiller Dragon 74ecdea3ab Add assert on unimportant broadcasts to all players 2018-03-16 13:30:47 +01:00
Chiller Dragon cc70628a49 Static broadcast delay (10 sec) 2018-03-15 22:35:25 +01:00
heinrich5991 d7f6cf2892 Fix some system.c insanity
`str_utf8_isspace` now returns true if the passed code point renders as
a space, instead of when not.

Add `str_utf8_trim_right`, use this function and
`str_utf8_skip_whitespaces` in the server.

Add tests for the three functions
2018-03-14 02:27:15 +01:00
VeH-c 748007d525
Fixed typo 2018-03-09 22:24:56 -08:00
ChillerDragon 8d1e60d5a6 Fix code style 2018-03-07 18:10:57 +01:00
ChillerDragon ab2876743a Make broadcast importance delay configurable 2018-03-07 18:06:39 +01:00
ChillerDragon 052e67c541 Add broadcast importance (fixes #669) 2018-03-07 17:22:41 +01:00
ChillerDragon 57cb136c55 Remove teamkill message on solo teams
For speedrunning alone in a team this "Everyone in your locked team was killed because '%s' %s."
is very annoying. So better only print it if more than 1 tee is in the team.
2018-03-06 14:08:04 +01:00
Dennis Felsing 93f0cd8933 Proper negative top5 calculation (fixes #1064) 2018-03-05 11:53:55 +01:00
bors[bot] e64919ddcb Merge #1058
1058: Add /pausevoted and /specvoted r=heinrich5991 a=def-

- Also fix /pause and /spec with name parameter a bit
- Move out common code between pause/spec
2018-03-02 14:41:31 +00:00
def ad99c58528 Add /pausevoted and /specvoted
- Also fix /pause and /spec with name parameter a bit
- Move out common code between pause/spec
2018-03-01 19:46:07 +01:00
heinrich5991 1387ee9a3a Regenerate version file on git changes
Previously, this file had to be manually deleted if you wanted to have a
new version compiled in.
2018-03-01 16:50:29 +01:00
ChillerDragon c1e3dec980 Remove unused teams function 2018-02-27 16:40:52 +01:00
Learath2 ff872b39cd Forgot to add GameID to the col-list 2018-02-14 01:17:40 +01:00
bors[bot] 6338a05fd3 Merge #1025
1025: Add Teehistorian UUIDs to every record r=heinrich5991 a=Learath2

For statistic collecting purposes, don't merge before updating the SQL Schema.

    ALTER TABLE record_race ADD COLUMN GameID VARCHAR(64) AFTER cp25;
    ALTER TABLE record_teamrace ADD COLUMN GameID VARCHAR(64) AFTER ID;
2018-02-13 16:01:20 +00:00
Learath bc11fc2a35 Add GameUuid to teamscore aswell
Also get GameUuid through an interface.
2018-02-07 16:43:36 +01:00
yangfl 1620fc9b0f Fix typo 2018-02-07 16:10:40 +08:00
Learath 94d98e833a Fix mistakes. Fix CREATE TABLE 2018-02-07 01:10:02 +01:00
Learath 0aeb912db2 Escape the UUID just in case 2018-02-07 00:44:03 +01:00
Learath 4a52bca55d Include the teehistorian uuid instead 2018-02-07 00:35:21 +01:00
Learath 4748d5f065 Add client version to the record 2018-02-06 20:07:42 +01:00
def c73e2a7ba8 New year is on January 1, not February 1 2018-02-01 20:22:18 +01:00
bors[bot] 4b84d7558f Merge #1007
1007: Record rcon authentication stuff into teehistorian r=Learath2 a=heinrich5991

This allows to check moderator actions after-the-fact.
2018-01-30 10:38:01 +00:00
heinrich5991 1c3dc8c316 Record rcon authentication stuff into teehistorian
This allows to check moderator actions after-the-fact.
2018-01-28 03:13:05 +01:00
heinrich5991 a744fe53a2 Remove CPlayer::m_Authed
This can't get out of sync now.
2018-01-27 23:13:17 +01:00
bors[bot] f48a2a395b Merge #947
947: Add support for extra chunks in teehistorian r=Learath2 a=heinrich5991

This allows to add rarely-used chunks without increasing the file format
version.
2018-01-27 21:09:43 +00:00
Ryozuki 214a8ba10a fix votes 2018-01-25 19:36:40 +01:00
Dennis Felsing cb0209d6e3 Reapply "Only make grenades explode once (fix by timakro)" 2018-01-25 02:32:34 +01:00
Dennis Felsing f3256f0b6c Revert "Only make grenades explode once (fix by timakro)"
This reverts commit b9a93a18fb.
2018-01-24 07:50:15 +01:00
Dennis Felsing 8f2ce84f4e
Merge pull request #996 from Ryozuki/pr_cmd_vote_no
Add vote_no command
2018-01-22 20:36:20 +01:00
Dennis Felsing b9a93a18fb Only make grenades explode once (fix by timakro) 2018-01-22 14:15:53 +01:00
def 3033fbb466 Also pass negative numbers 2018-01-21 19:13:20 +01:00
def a731482152 /top5, /top5team, /top5points, /times also show worst results with negative numbers 2018-01-21 19:08:52 +01:00
Ryozuki 79fedff12d add /modhelp chat command 2018-01-21 01:32:55 +01:00
Ryozuki 0f328d6c52
wrong side.. 2018-01-18 18:41:37 +01:00
Ryozuki e039145628
fix pointer naming 2018-01-18 18:30:38 +01:00
Ryozuki e59387a304 revision changes 2018-01-18 16:17:23 +01:00
Ryozuki 6413cab702 forgot newline 2018-01-18 07:58:22 +01:00
Ryozuki 1e88ad92a0 add vote_no command and show auth rank in force vote 2018-01-18 07:56:07 +01:00
Ryozuki 05ece01690 Add more output to mutes and muteid 2018-01-15 19:31:14 +01:00
Dennis Felsing 31bbbaf512 case sensitivity 2018-01-15 09:10:20 +01:00
Dennis Felsing 272e14357c Fix SQL code for points/top5points 2018-01-15 09:08:51 +01:00
def 80cf5eff45 Update credits 2018-01-14 08:11:48 +01:00
def 4bc0d176d3 More reverts.. 2018-01-13 22:22:55 +01:00
def 3ee76bc5ff Revert voting change 2018-01-13 21:40:29 +01:00
def 16117f74d7 People don't like my vote changes 2018-01-13 16:46:31 +01:00
def 4dc118c752 Mutes work independent of port, don't announce IP in chat (fixes #908) 2018-01-13 10:50:31 +01:00
heinrich5991 9d9bfee53f Move to ISO 8601-compliant timestamps
https://en.wikipedia.org/w/index.php?title=ISO_8601&oldid=819129098
2018-01-11 16:01:19 +01:00
heinrich5991 22080c840f Move teehistorian UUIDs into engine 2018-01-11 16:01:13 +01:00
heinrich5991 6c378b972b Add support for extra chunks in teehistorian
This allows to add rarely-used chunks without increasing the file format
version.
2018-01-11 15:59:53 +01:00
def 2ebc993379 Oops 2018-01-11 15:26:41 +01:00
def e29de3295f Vote faster when all press yes 2018-01-10 23:46:14 +01:00
def 37b7f058b2 Fix voting 2018-01-10 23:44:40 +01:00
def 0cc4763a43 Fix crash: Switch tiles with number 0 are handled like non-switch tiles
Thanks to 645654 and phacrum for report
2018-01-10 22:19:38 +01:00
Dennis Felsing d4f5b6ae69 Remove redundant code 2018-01-10 14:36:04 +01:00
Dennis Felsing ea85e0669a Keep vote running until everyone presses f3 or time runs out
Gives enough time for mods to react and for players to save
2018-01-10 14:33:03 +01:00
Ryozuki d6eb604718 add rcon moderate mode 2018-01-05 15:23:08 +01:00
Learath2 8353701789 Add sv_rcon_vote. Fix punctuation.
Add option to only allow authed clients to call votes.
2017-12-27 10:40:51 +03:00
def 627291c510 /pause <name> always switches to watching name
Old behaviour switched you out of pause if you were paused already
Thanks to fokkonaut for suggestion
2017-12-23 20:42:54 +01:00
Dennis Felsing be9a5fc8c8 Update save command description (by marcelherd) 2017-12-21 13:58:09 +01:00
bors[bot] 1d55bbda0e Merge #948
948: Remove deprecated multi commands r=Learath2 a=heinrich5991

You now have to use `/mc;` instead of `/` if you want to bind multiple
commands to one key.
2017-12-08 14:48:32 +00:00
ChillerDragon 3acb650a6f
removed unused comment 2017-12-02 18:26:53 +01:00
heinrich5991 94acac91a0 Overhauled job system
The engine now takes `std::shared_ptr<IJob>`, this will ensure the
appropriate lifetime of the given parameters, it also allows for proper
destruction. Remove the now obsolete `IFetcher` interface and `CFetcher`
class.

Also adds some locks to `CUpdater`, previously it didn't have any locks
at all.
2017-11-23 15:47:38 +01:00
heinrich5991 7fc4a21565 Remove deprecated multi commands
You now have to use `/mc;` instead of `/` if you want to bind multiple
commands to one key.
2017-11-18 16:36:34 +01:00
ChillerDragon a013a59aa6 removed dead function prototype 2017-11-01 14:57:34 +01:00
heinrich5991 dfc53b48cf Fix victim handling 2017-10-17 01:32:40 +02:00
heinrich5991 525b643e18 Fix a syntax error
Sorry. :/
2017-10-13 16:33:23 +02:00
heinrich5991 c439b04a2d teehistorian: Hide chat from teehistorian
There was a missing check that allowed chat messages to be written to
disk.
2017-10-13 16:25:26 +02:00
Learath2 4394933d6c Merge pull request #887 from heinrich5991/pr_ddnet_async
Add asynchronous output system and use it for teehistorian and `dbg_msg()`s
2017-10-13 15:30:24 +02:00
heinrich5991 e989ffad78 Rename async_* to aio_* and add test for nondivisible buffer lengths 2017-10-13 02:48:42 +02:00
heinrich5991 8e778cd9ab Address pull request comments 2017-10-13 02:29:18 +02:00
heinrich5991 4d05a2379b Make teehistorian asynchronous 2017-10-10 04:11:14 +02:00
heinrich5991 be0b52eddc Fix teehistorian crash on startup 2017-10-10 02:39:29 +02:00
Learath2 d15dcd3c58 Merge pull request #871 from heinrich5991/ddnet_teehistorian
Teehistorian
2017-10-09 18:42:27 +02:00
heinrich5991 f16059c0b8 teehistorian: Add a couple of tests, fix uninitialized vars and asserts 2017-09-28 02:42:35 +02:00
heinrich5991 f43480aeed Add testing infrastructure for teehistorian 2017-09-28 02:03:30 +02:00
heinrich5991 1913106f15 teehistorian: Fix a bug with implicit ticks 2017-09-27 20:15:41 +02:00
heinrich5991 be79f14e38 teehistorian: Use m_pController->m_pGameType directly 2017-09-27 19:38:54 +02:00
Dennis Felsing 5b05e558dc Fix grammar (thanks noby) 2017-09-25 09:07:12 +02:00
heinrich5991 9d5ba770e9 teehistorian: Only record non-default config vars 2017-09-24 21:11:04 +02:00
heinrich5991 3efa490cb7 teehistorian: Remove global buffer
This removes the possibility of the buffer filling up and discarding
data.
2017-09-20 02:23:28 +02:00
heinrich5991 9761e9606a Make most user input teehistoric
Exclude private stuff like chat messages and votes.
2017-09-20 02:23:28 +02:00
heinrich5991 6ef9c8dbcd First working version of teehistorian
teehistorian records all inputs from the players as well as the player
positions in each tick. It stores this info in a highly compressible
output format (I've achived 5x compression using xz or bz2).
2017-09-20 02:16:11 +02:00
def 03fa475b5e Implement /pause [name] and /spec [name] 2017-09-18 19:12:01 +02:00
Dennis Felsing 43d0299a45 Merge branch 'master' into pr_ddnet_fix_msvs_warnings 2017-09-16 11:17:39 +02:00
heinrich5991 4d96090770 Fix MSVS warnings
```
warning C4291: no matching operator delete found; memory will not be freed if initialization throws an exception
warning C4305: truncation from 'double' to 'float'
warning C4805: unsafe mix of type 'bool' and type 'int' in operation
```
2017-09-06 10:54:29 +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
heinrich5991 2682480f8a Rename GetUncompressedDataSize to GetDataSize
Also rename the old `GetDataSize` to `GetFileDataSize`. `GetDataSize`
now returns the actual data size, not the data size before
decompression.
2017-08-30 08:36:17 +02:00
sctt 0849fa6024 fixing map_resave and adding map_replace_image
Update datafile.h

Update datafile.cpp

Update datafile.cpp

Update map_resave.cpp

Update datafile.h

Update map_resave.cpp

Update datafile.h

Update datafile.cpp

Update config_store.cpp

Update config_retrieve.cpp

Update io.cpp

Update gamecontext.cpp

Update config_store.cpp

Update CMakeLists.txt

Create map_replace_image.cpp

Update map_replace_image.cpp

fixing bug with height and witdth
2017-08-29 16:21:16 +02:00
def ac2943a49b utf8mb4 in database for real utf8 2017-08-26 09:00:33 +02:00
def fb252c4940 Fix compilation 2017-08-25 13:27:37 +02:00
heinrich5991 1ae004ba46 Make a copy of the input only after sanitizing it
This fixes a physics bug that allowed players to set their mouse
direction to (NaN, NaN), resulting in funny effects.
2017-08-25 13:20:10 +02:00
def 0e1cc205ef Fix formatting for server chat messages with time in already 2017-08-21 20:48:11 +02:00
def 98520bb407 other kind of fix 2017-08-19 09:36:13 +02:00
def d40dd4f362 Don't try next SQL server when /times returns empty 2017-08-19 09:32:14 +02:00
heinrich5991 33315452c3 Merge branch 'master' into leak_fix 2017-07-31 20:42:32 +02:00
def 0a28556481 A bit nicer birthday message 2017-07-31 18:24:16 +02:00
def d9aeeae3fc Fix sql_score.cpp formatters 2017-07-30 14:23:25 +02:00
def c12082c2ef Not too many messages 2017-07-30 14:15:45 +02:00
def 7a3b7c6228 oops 2017-07-29 23:13:04 +02:00
def f3d4fcf012 Print message when team starts playing to team members 2017-07-29 23:11:33 +02:00
HMH d03e91153c removed unused Dest function for layers 2017-07-28 14:43:03 +02:00
heinrich5991 6247aa0c7f Enable -Wextra and -Wformat=2
Also annotate `dbg_msg`, `str_format` and `str_timestamp_ex` so that the
compiler can determine whether the format strings are correct.

Fix the compiler warnings generated by these extra warnings -- some of
them were security issues.
2017-07-27 20:38:17 +02:00
def adef38a574 Revert "We want the Timestamp of a team to stay min(Timestamp) to indicate the first time this team finished the map"
This reverts commit bf0e67a34a.
2017-07-26 18:12:41 +02:00
def cf08239e58 no plenk 2017-07-24 20:58:51 +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
def bf0e67a34a We want the Timestamp of a team to stay min(Timestamp) to indicate the first time this team finished the map 2017-07-23 21:20:12 +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
def 42b07441a5 Try to make SQL connections a bit more hardy 2017-07-08 14:14:50 +02:00
def f3e3d57a90 Always close files, cleaner demo recording, fix some other stuff 2017-07-08 13:39:20 +02:00
ChillerDragon 727b9f84b6 fixed scoreboard update for slow racers (less hacky) (#765)
* fixed scoreboard update for slow racers (less hacky)

* Fix some style issues
2017-07-05 23:01:57 +02:00
Tim Schumacher 2ef05c2def Use sv_teleport_hold_hook also for checkpoint tele 2017-06-15 16:07:27 +02:00
Tim Schumacher 47fecc8659 Add sv_check_teleport_hold_hook map setting 2017-06-15 15:49:07 +02:00
Learath2 49e4501cc7 Merge pull request #785 from Ryozuki/pr_ddnet_fix_dbgassert
Get rid of wrong dbg_assert that can crash server
2017-06-12 18:54:48 +03:00
Ryozuki 5f23a68caf get rid of wrong dbg_assert 2017-06-12 17:49:01 +02:00
eeeee 0497cdd49d stop casting auth state to bool 2017-06-08 13:03:44 -07:00
eeeee 2797227063 also remove references to CGameContext from CServer 2017-06-05 22:31:56 -07: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
def 45acda1a66 Fix compiler warning 2017-06-02 21:49:53 +02:00
def 4125941896 Disable dbg_stress in release builds (fewer confused kids that think they hacked the server, less useless code in cache) 2017-06-02 20:45:09 +02:00
def a6e144ea72 Let's not crash the client and server on dbg_assert 2017-06-02 20:12:20 +02:00
def 27074e926a Further cleanup 2017-06-02 19:44:14 +02:00
def c49aa0671f Revert "A bit faster"
This reverts commit 1428c25083.
2017-05-24 23:16:10 +02:00
Learath2 6a6666abc4 Keep pause state when killed 2017-05-24 22:30:28 +02:00
def 1428c25083 A bit faster 2017-05-24 21:39:04 +02:00
def 02995bf72f Oops 2017-05-24 21:36:14 +02:00
def 1f86e6c8df Save fixes 2017-05-24 21:32:26 +02:00
def 1b2a85af58 Fix m_Jumped loading 2017-05-24 20:23:54 +02:00
def 562dee6e38 Clean up server messages a bit 2017-05-21 01:20:25 +02:00
def 63c1d75458 When frozen and afk, show normal eyes to be able to tell non-afk from afk 2017-05-19 19:12:52 +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 d7d0520f79 Another try 2017-05-18 20:04:29 +02:00
def 819187f376 Fix unweapons 2017-05-18 20:01:10 +02:00
def 0f14307e8f oops 2017-05-17 22:37:54 +02:00
def 7e7d56048b New try at loading in team only 2017-05-17 22:30:13 +02:00
def bd75e6e1f6 Actual fix 2017-05-17 18:56:58 +02:00
def a8966c680e Revert "Prevent vote spam"
This reverts commit 526a23b191.
2017-05-17 18:55:45 +02:00
def b48005fe40 Revert "Fix last map vote"
This reverts commit 42f3b0d7a8.
2017-05-17 18:50:01 +02:00
def 42f3b0d7a8 Fix last map vote 2017-05-17 18:45:45 +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 87adba55ad Allow voting again if no map could be found for random map vote 2017-05-15 11:15:04 +02:00
def 8c9995f166 oops 2017-05-14 22:44:52 +02:00
def 413f96b43d Prevent some save/load cheating 2017-05-14 22:42:49 +02:00
def f4112e3bcb Revert "Tees must be teamed up before loading"
This reverts commit d29f2306ef.
2017-05-14 22:36:44 +02:00
def f57f1d0d17 You can't invite someone to team on solo server... 2017-05-14 22:16:58 +02:00
def f2232b8026 Fix compilation 2017-05-14 22:14:02 +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
Dennis Felsing 58207926ac Merge pull request #726 from Learath2/dd_pr_load
Tees must be teamed up before loading
2017-05-14 11:54:39 +02:00
Dennis Felsing a0a1276b6a Merge pull request #751 from Learath2/dd_pr_ratelimitinvite
Add ratelimiting for /invite
2017-05-14 11:50:43 +02:00
Dennis Felsing 610195f21e Merge pull request #753 from Learath2/dd_pr_voting
Fix vote spam
2017-05-14 11:49:12 +02:00
Learath 58d3d5251a Fix a mistake. Kill on kick 2017-04-25 20:27:23 +02:00
Learath 526a23b191 Prevent vote spam
Apply the timeout even after a successful vote
2017-04-25 19:53:18 +02:00
Learath a1d2212696 Change behaviour for kick votes in teams 2017-04-25 19:10:22 +02:00
Learath2 3878d6fb56 Reset invites when the team is empty 2017-04-24 21:28:02 +02:00
def 4b376d239c rename 2017-04-24 17:36:13 +02:00
Learath2 1d84d0db07 Get rid of trailing spaces 2017-04-24 14:05:09 +02:00
Learath2 c1a4a95d61 Add ratelimiting and config options for invite 2017-04-24 14:04:50 +02:00
Learath2 aa3690a632 Reset invites when the team is empty 2017-04-24 13:31:05 +02:00
Learath2 89199d04d0 Fix invite spam by abusing lock. 2017-04-24 11:03:16 +02:00
Learath2 309d47e933 Revert "Remove invite system entirely since no one wants to fix it"
This reverts commit 99cc9d2c0b.
2017-04-23 22:50:07 +02:00
def 99cc9d2c0b Remove invite system entirely since no one wants to fix it 2017-04-23 17:51:29 +02:00
def 8dcad29138 Also update timestamp in team rank (fixes discord bot to show team ranks when they exist) 2017-04-23 14:08:58 +02:00
Learath2 c091eb6cc9 Fix indentation 2017-04-22 19:04:16 +02:00
def 9da2655ea7 Add own time to /mapinfo 2017-04-21 20:13:51 +02:00
def 9e7eb9c142 Remove /uninvite 2017-04-13 10:34:19 +02:00
def 3c9b178e73 Fix /times ratelimit 2017-04-13 09:38:53 +02:00
def d4ed1310d2 Configurable rate limit for SQL queries 2017-04-13 09:33:26 +02:00
def 407943a0a0 A bit more cautious SQL code 2017-04-13 09:26:12 +02:00
def d450678bf3 Quit even if score-threads didn't complete 2017-04-13 08:38:27 +02:00
Learath c8acc2d286 Swap /pause and /spec around 2017-04-13 01:33:56 +02:00
Learath 0cafa8b813 Random tees can't load saves 2017-04-12 16:59:46 +02:00
Learath 47f405e160 Remove tees that don't belong 2017-04-12 10:33:02 +02:00
Learath d29f2306ef Tees must be teamed up before loading 2017-04-11 21:18:26 +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
Learath2 079c53471c Remove unnecessary check. Fixes #714 2017-04-02 19:39:22 +02:00
HMH 7ef108c818 Fix style in some places which the previous fix missed 2017-03-23 22:28:06 +01:00
necropotame b8e4e5beea Fix style in several places 2017-03-22 19:45:14 +01:00
def 125764815b Update credits (I probably missed a few) 2017-03-16 19:17:24 +01:00
necropotame 4027b3dc01 Add error message in case of invalid argument for /timer 2017-03-15 12:22:13 +01:00
necropotame e4345307c1 Fix #662 (timer command displays the wrong state) 2017-03-15 11:11:01 +01:00
Learath2 0b0783f13c Fix styling issues, use uint for bitmask 2017-03-10 14:52:49 +01:00
Learath2 9319a82c6e Add /invite for locked teams. Fixes #647 2017-03-06 12:14:38 +01: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
Learath2 09552a6d9f Get rid of trailing whitespaces 2017-02-21 19:11:43 +03:00
heinrich5991 b42a59f290 Fix a crash with semicolon handling and timeout codes
Timeout codes lead to deallocation of the player structure, the
semicolon code tried to access it, resulting in a segmentation fault.
2017-01-04 18:14:08 +01:00
heinrich5991 80ea4c8590 Disallow usage of semicolons in chat commands
This prevents player name exploits due to tab completion of nicknames
that could result in unwanted commands being executed.

Print a deprecation message that is supposed to be removed in the
future.
2017-01-03 14:01:51 +01:00
heinrich5991 e94c0260d7 Implement /rules in a less copy-and-pasty way 2017-01-03 13:57:22 +01:00
BannZay a96ebde93a getting jetpack through remote 2016-10-10 15:18:06 +03:00
Dennis Felsing 67ef498573 Merge pull request #549 from heinrich5991/pr_ddnet_improve_pause
Don't show player HUD during `/pause`
2016-09-29 13:48:12 +02:00
def 3ed6692ad7 SQL string cleanup 2016-09-25 10:41:34 +02:00
heinrich5991 c08206dd96 Don't show player HUD during /pause for vanilla clients 2016-09-20 21:40:40 +02:00
east c9a50916b3 sv_dnsbl_vote option added 2016-09-05 11:53:26 +02:00
east 678a69bf5b basic DNSBL implementation 2016-09-05 11:38:11 +02:00
H-M-H 1a311585be escape strings before applying FuzzyString 2016-09-03 18:28:11 +02:00
Speedy Consoles 39704a04a7 made 1-tick unfreeze reliable 2016-08-27 18:03:50 +02:00
def c91ef1ea81 str_append instead of strcat 2016-08-21 21:14:41 +02:00
def 2aa3303884 Longer team ranks 2016-08-21 21:06:12 +02:00
def 320c299b68 Fix laser code 2016-08-07 22:38:45 +02:00
def e8dac3346a Fix veto 2016-07-20 20:56:22 +02:00
def aab3beb3b0 Veto right for start and join time 2016-07-08 18:28:33 +02:00
def 992c148dce Fix messages a bit 2016-07-03 23:23:33 +02:00
Tim Schumacher 96d05e3370 Send chat message when team is unlocked by a tile 2016-06-30 17:55:34 +02:00
H-M-H 35bd378a62 fixed RandomUnfinishedMap
do not execute this function several times even after success
2016-06-22 02:00:29 +02:00
def e518a701a3 Clean up sql dbg_msg calls 2016-06-15 11:52:40 +02:00
def e0ec97174a Try to fix broken /map 2016-06-10 03:05:47 +02:00
HMH bb9d23bb73 sql-save: forgot a line 2016-05-31 12:32:09 +02:00
HMH 28d116217b fixed resetting of saving-state of teams (was not reset always)
destructor of CSqlTeamSave takes care of that now
while doing so the allocation of CSaveTeam has been moved to the stack
2016-05-31 00:03:28 +02:00
H-M-H ada3b9a5db Merge pull request #378 from H-M-H/sqlmasters
separate sqlwrite and sqlread server
2016-05-28 23:00:16 +02:00
HMH ea5892b1ce don't clear sql-mapstring twice 2016-05-21 22:53:49 +02:00
def af8317c2e9 Don't allow restarting after touching finish line on solo server 2016-05-21 21:51:38 +02:00
H-M-H b648b530d5 Merge branch 'master' into sqlmasters 2016-05-20 23:40:29 +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
def aff85462aa Update messages a bit 2016-05-20 18:36:32 +02:00
def ede6a9f93f More uniform /times output (thanks Soreu) 2016-05-20 18:28:33 +02:00
H-M-H 2bcbe52d14 fixed /load message 2016-05-11 15:54:09 +02:00
H-M-H 42fc8a0fe2 fixed use of Str and ClrStr 2016-05-11 15:26:16 +02:00
H-M-H 6a2438e1cf fixed includes 2016-05-11 15:01:53 +02:00
H-M-H 3b6baaa8d3 made CSqlData const for threadfunctions and added a class for sqlstrings
CSqlData is const for threadfunctions now to avoid modification from
within the threadfunctions as these might be called several times.
Previously this was a problem as ClearString could possibily be applied
multiple times to the same string.

To solve this the class CSqlString has been added. This class takes a
const char* and copies it. Additionally a clearstring is created from
the given const char*. This enables access to the original as well as
the cleared string safe for sql-statements.

sql_string_helpers got an own source file now.

A crashbug from CSqlServer has been fixed (pointer has not been set
back to 0)
2016-05-09 23:35:23 +02:00
Ryozuki 82d2a994ed Fixed cl_showping (now cl_showpred) 2016-05-05 18:07:00 +02:00
H-M-H 4bf1a68292 do not write nullbytes to failed_sql.sql 2016-05-05 13:23:35 +02:00
Henningstone 77b584c12f Forbid showing /top5 from rank 0 on 2016-05-05 01:33:28 +02:00
H-M-H 30ca8d8774 made writing to sql-failurefile threadsafe 2016-05-04 23:37:34 +02:00
def 2df9c79483 proper str_copy size (fixes #461) 2016-05-04 18:43:54 +02:00
H-M-H 5dc47ede58 put sql_string_helpers into an own namespace 2016-05-04 16:51:18 +02:00
H-M-H a7c0cd58ee fixed birthdaycheck and the format of sql-inserts for the failure-file 2016-05-04 16:47:53 +02:00
H-M-H cd41220a44 wait for score-threads on shutdown 2016-05-04 15:32:24 +02:00
H-M-H a93e845e6d checkbirthday now also sends a broadcast to the 'birthdaychild' 2016-05-03 23:50:42 +02:00
H-M-H 94f163f094 added CSqlPlayerData for simple tasks like getting best time 2016-05-03 23:24:44 +02:00
H-M-H c9e65c7931 Merge branch 'master' into sqlmasters 2016-05-03 23:07:24 +02:00
H-M-H c9b64053d0 cleaned up structure of sql_score.cpp 2016-05-03 20:45:58 +02:00
H-M-H d0cebb576d sql-score can now handle mapchanges/reloads 2016-05-03 20:36:17 +02:00
Dennis Felsing 230784d234 Merge pull request #458 from Ryozuki/pr_showping
Added cl_showping
2016-05-03 16:12:30 +02:00
Ryozuki 5c7856ee59 Added cl_showping 2016-05-03 16:06:10 +02:00
def 61e47422f6 Clean up debug messages a bit (lower case, no useless errors) 2016-05-02 21:35:32 +02:00
Tim Schumacher 50f9e37282 disable deepfly patch applied at wrong position 2016-05-02 16:25:34 +02:00
def b6733a1827 Update credits 2016-05-01 17:14:02 +02:00
def e0e7f20196 added sv_deepfly (default 1) to disable deepfly (by timakro) 2016-04-29 18:08:53 +02:00
def 67bff95a72 Merge remote-tracking branch 'timakro/new_hookthrough' 2016-04-27 18:59:51 +02:00
def 750f30b6b9 Don't use hardcoded table name 2016-04-23 16:42:54 +02:00
def 93ce3c84c3 Add fake tuning for hammer hit 2016-04-20 11:59:14 +02:00
def 2f170c4d1c Actually call new birthday function 2016-03-26 00:36:54 +01:00
def fc2bf86174 Birthday check when player joins 2016-03-26 00:20:18 +01:00
def 52fcc6e550 Fix sv_hide_score 2016-03-26 00:19:44 +01:00
def b2105ef3ec Revert "Nicer formatting for SQL stats"
This reverts commit c36b7efe1d.
2016-03-09 23:45:48 +01:00
def 64e4f99102 Revert "Further improvement on ranks formatting"
This reverts commit fad318e86f.
2016-03-09 23:45:43 +01:00
def fad318e86f Further improvement on ranks formatting 2016-03-08 17:53:49 +01:00
def c36b7efe1d Nicer formatting for SQL stats 2016-03-08 17:36:14 +01:00
def ce7eb0aac1 Add UNLOCK_TEAM tile (someone draw a tile please) 2016-03-07 18:04:59 +01:00
H-M-H e39829ef7c killer of locked team will get strong hook on respawn 2016-03-04 22:55:12 +01:00
def e577c8e9ae Fix web links 2016-02-23 01:05:37 +01:00
H-M-H 53a004fa74 reset preferred sql-server to the first specified
on map load
2016-02-20 15:33:35 +01:00
H-M-H 2bd6d0c381 do not always try to connect to unreachable sqlservers
but instead remember the last reachable server
- some cleanup
- added timeout of 10 seconds to sql-connections
2016-02-20 15:33:35 +01:00
H-M-H 783c2161f1 sql_score init is threaded now 2016-02-20 15:33:35 +01:00
H-M-H 8dacd88755 more generic format of saved sql-inserts 2016-02-20 15:33:35 +01:00
H-M-H 88ed7391da handle exceptions from sql properly
- write failed sqlinserts to a file
- improved structure
2016-02-20 15:33:35 +01:00
H-M-H 1314085928 restructured sqlconnection
reading from and writing to several different servers is now possible
TODO:
-handle Exceptions properly (try another sqlserver)
-if everything fails while writing write the insert to a file
2016-02-20 15:33:35 +01:00
H-M-H 2d41ce3527 try next sqlmaster also if the current write fails 2016-02-20 15:33:35 +01:00
H-M-H c4ab59e4c3 fixed use of locks for threading:
each sqlserver has its own lock now
-> it is required that every connect call is followed by a disconnect call
2016-02-20 15:33:35 +01:00
H-M-H 15f2e07c48 moved sqlserver stuff into CServer-class
as sqlconnections should not last only
until next mapreload
2016-02-20 15:33:35 +01:00
H-M-H 6ba10d2719 mastersqlservers are working now
TODO: move the sqlserver objects somewhere else
so they wont be destroyed on every reload
2016-02-20 15:33:35 +01:00
H-M-H 5e4456584f started with sqlmasters
+ added #ifdef for sql_server.cpp
(fixes compilation for release mode)
2016-02-20 15:33:35 +01:00
H-M-H 9ed66f7adc Cleanup of Sqlconnection
-moved all connectionstuff to a new class
-moved sqlstring functions to an own file
-do not give threads access to CSqlScore
2016-02-20 15:33:35 +01:00
Tim Schumacher e183a17117 removed other gametypes files and gametype setting 2016-02-16 14:29:11 +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
Dennis Felsing 269bd3df4b Merge pull request #412 from heinrich5991/pr_ddnet_overlong_utf8_server
Kick people using overlong UTF-8 sequences
2016-01-27 02:15:19 +01:00
def 0a49428e21 Veto considers time on server not in current race 2016-01-27 02:14:46 +01:00
heinrich5991 a1923b154b Only ignore messages on invalid UTF-8, don't kick players 2016-01-27 01:48:19 +01:00
heinrich5991 d4eefefa26 Kick people using overlong UTF-8 sequences
This works around the bug in older clients (including vanilla) that
interpret those sequences incorrectly.
2016-01-27 01:24:02 +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
heinrich5991 c0a90f98b8 Fix length of vote reason display in chat
Fixes #407.
2016-01-19 15:00:41 +01:00
heinrich5991 294a962141 Fix a few style issues in voting code 2016-01-19 14:58:52 +01:00
H-M-H 8e24ef8020 commanddescription can now be placed directly in
the commandparamsstring: "s[file]"
2015-12-28 16:19:52 +01:00
H-M-H 11a426c18b added (console-)command usage 2015-12-23 14:29:31 +01:00