Commit graph

2374 commits

Author SHA1 Message Date
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