Commit graph

377 commits

Author SHA1 Message Date
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
HMH 4a8011ced4 determine tunings to send with the players viewpos 2014-04-18 14:43:33 +02:00
def e6052ed411 add sv_pause_messages 2014-03-26 14:21:49 +01:00
HMH f2c8134bd2 send correct tunings to spectators 2014-03-23 17:10:49 +01:00
def 0e15c22639 More sensitive afk detection 2014-02-21 18:27:00 +01:00
def 17102bdf09 Still have to keep crashmeplx 2014-02-13 19:53:30 +01:00
def 4321e80c4d style 2014-02-12 13:28:07 +01:00
def 7804f9314d Hopefully fix a bunch of locked team bugs 2014-02-08 14:33:42 +01:00
def 823a04333a Add /showall 2014-02-02 19:56:10 +01:00
def 0be802c005 Fix: Even show correct team if there was a locked team before 2014-02-02 11:10:00 +01:00
def caa1f15d12 Fix possible crashes 2014-01-30 16:54:58 +01:00
def d8533eea67 Proper Client Version numbers and more visible whispers 2014-01-30 16:49:15 +01:00
def 6126ad50c4 Fix range of team related bugs by actually removing people from team when they spectate 2014-01-11 15:19:34 +01:00
def 2af9d9f423 Switchable ninjajetpack 2014-01-11 13:59:20 +01:00
def 3607218f12 Merge ddrace64 from eeeeee 2013-12-31 06:13:57 +01:00
def b6f8156e1f New fix for solo maps with switches 2013-12-28 16:27:47 +01:00
def 3eaad43b6b Merge remote-tracking branch 'upstream-teeworlds/0.6' into DDRace
Conflicts:
	bam.lua
	data/languages/index.txt
	src/engine/server/server.cpp
	src/engine/shared/network_server.cpp
	src/game/client/components/chat.cpp
	src/game/client/components/menus_settings.cpp
	src/game/server/entities/character.cpp
	src/game/server/gamecontext.cpp
	src/game/version.h
2013-12-26 18:02:22 +01:00
def 70a0774453 Add /dnd 2013-12-22 18:30:13 +01:00
def 0b70f874dc Add sv_team 3 (forced random team for you, useful for solo ddrace) 2013-12-19 23:04:01 +01:00
def db1304b597 Fix Null Pointer bug 2013-11-16 02:36:04 +01:00
def eba45c4f0a Add /lock 2013-11-16 00:44:49 +01:00
def 295a1aaa50 Code cleanup 2013-11-14 16:26:25 +01:00
def 582562ed1e Remove useless code 2013-11-09 00:07:57 +01:00
def 1b49f5fab0 Keep solo after map change 2013-10-22 17:04:54 +02:00
def 34e568f41b Add converse command 2013-10-18 11:42:35 +02:00
def a2c7feda17 Add afk vote timer 2013-08-18 03:27:30 +02:00
def ccc777f792 Max 4 commands per second 2013-08-10 04:21:20 +02:00
oy ffa93a007c fixed a bug with spectating a player 2013-02-24 17:24:12 +01:00
Learath2 c55cae6492 Reduced length of new year event to 2 days. 2012-12-23 19:53:57 +02:00
eeeee 1c8c20c93e added sv_events 2012-12-23 19:47:47 +02:00
GreYFoX cd4ba53bae Merge branch 'master' of git://github.com/teeworlds/teeworlds into DDRace
Conflicts:
	bam.lua
	scripts/build.py
	scripts/make_release.py
	src/engine/server.h
	src/game/client/gameclient.cpp
	src/game/server/gamecontext.cpp
	src/game/server/gamecontext.h
	src/game/server/gamecontroller.cpp
	src/game/server/gamecontroller.h
	src/game/server/player.cpp
	src/game/version.h
2012-04-12 02:09:31 +02:00
Learath2 44d34b0033 Fixed paused players getting afk kicks. 2012-04-11 14:41:02 +02:00
Learath2 50b2d85abb Fixed according the comment of GreYFoX. 2012-02-14 22:38:06 +02:00
Learath2 d64e1796aa Simplifys the usage of timer commands. Fixes new year happy spawn. 2012-02-14 20:25:34 +02:00
SushiTee 1e602bf31b fixed showing player spawn effect only to players who should see 2012-02-05 14:48:09 +01:00
oy dfe91338f0 added pause command. Closes #15 2012-01-10 00:49:31 +01:00
Ravomavain af8fac1bac Little fix to allow 2 players to spectate each other 2012-01-01 00:15:15 +02:00
GreYFoX ee670118a5 Merge branch 'master' of git://github.com/oy/teeworlds into DDRace
Conflicts:
	src/engine/console.h
	src/engine/server/server.cpp
	src/engine/server/server.h
	src/engine/shared/config.h
	src/engine/shared/console.cpp
	src/engine/shared/console.h
	src/engine/shared/network_server.cpp
@heinrich5991 todo
2012-01-01 00:11:56 +02:00
Ravomavain 88be9657d2 Enhance pausing system (by @heinrich5991):
* enhance /pause (@heinrich5991)
 * add /spec command to pause without leaving the game (@heinrich5991)
 * if sv_pauseable is set to 0, /pause behave as /spec (@heinrich5991)
 * should fix #124 and #127 (@ravomavain)
2011-12-31 01:44:36 +02:00
oy 11cc0e78d7 removed chat spam for the team commands 2011-12-30 22:30:28 +01:00
GreYFoX 7d462b565d Fixed the bugs i know of with the last few commits 2011-12-30 16:51:08 +02:00
GreYFoX 2baa440866 Happy New Year, all tees are now born happy, Version v1.11 2011-12-29 14:39:51 +02:00
GreYFoX 799f4de2b3 Added the following settings to Close #123.
sv_time_in_broadcast, 1, 0, 1, CFGFLAG_SERVER, "Whether to display time in broadcast every interval or not by default, later the choice can be changed by players via chat commands"
sv_time_in_broadcast_interval, 1, 0, 60, CFGFLAG_SERVER, "How often to update the broadcast time"
sv_time_in_gametimer, 0, 0, 1, CFGFLAG_SERVER, "Whether to display time in the round/game timer or not by default, later the choice can be changed by players via chat commands"
Added the following Chat commands to give the player the choice over their settings:
"saytime", "", CFGFLAG_CHAT|CFGFLAG_SERVER, ConSayTime, this, "Privately messages you your current time in this current running race"
"saytimeall", "", CFGFLAG_CHAT|CFGFLAG_SERVER, ConSayTimeAll, this, "Publicly messages everyone your current time in this current running race"
"time", "", CFGFLAG_CHAT|CFGFLAG_SERVER, ConTime, this, "Privately shows you your current time in this current running race in the broadcast message"
"broadcasttime", "?s", CFGFLAG_CHAT|CFGFLAG_SERVER, ConSetBroadcastTime, this, "Personal Setting of showing time in the broadcast, broadcasttime s, where s = on for on, off for off, toggle for toggle and nothing to show current status"
"servergametime", "?s", CFGFLAG_CHAT|CFGFLAG_SERVER, ConSetServerGameTime, this, "Personal Setting of showing time in the round/game timer, servergametime s, where s = on for on off for off, toggle for toggle and nothing to show current status"
Fixed Chat Command "eyeemote" and made it a set + toggle instead of just toggle for better bin techneques
Moved some vars from CCharacter to CPlayer to keep their status evern after death but not after disconnect.
So now players have the choice to see which timer they wanna see if any.

Note: These changes are all untested Stay away from this update on your main server until they are tested, i don't even know if they will compile propperly
2011-12-29 14:17:34 +02:00
GreYFoX d9f973b8da SQL Fix 2011-09-08 00:51:55 +02:00
GreYFoX 8c103b8c13 * Added a new tile to facilitate solo parts ( works with teams )
* Can now put tiles with the same indexes as in tele or switch layer i game layer but it will drawn to the correct image
* Adjusted Masking to account for Solo players
2011-09-02 20:04:18 +02:00
eeeee 9f8ba5cf45 it was possible to avoid being kicked by afk stuff by opening chat 2011-08-27 14:09:06 +02:00
GreYFoX 5b27758650 Removed level stuff
Removed client ID stuff
Removed console stuff
Resolved merge conflicts
Upgraded Banmaster
Cleaned up
2011-08-13 02:11:06 +02:00
GreYFoX 35d16bd58c Merge branch 'master' of git://github.com/oy/teeworlds into DDRace0611
Conflicts:
	src/engine/console.h
	src/engine/server.h
	src/engine/server/server.cpp
	src/engine/shared/config_variables.h
	src/engine/shared/console.cpp
	src/engine/shared/console.h
	src/engine/shared/network_server.cpp
	src/game/client/components/console.cpp
	src/game/client/components/console.h
	src/game/client/components/menus_browser.cpp
	src/game/client/gameclient.cpp
	src/game/editor/editor.cpp
	src/game/editor/editor.h
	src/game/editor/io.cpp
	src/game/editor/layer_tiles.cpp
	src/game/editor/popups.cpp
	src/game/gamecore.cpp
	src/game/mapitems.h
	src/game/server/entities/character.cpp
	src/game/server/entities/laser.cpp
	src/game/server/gamecontext.cpp
	src/game/server/gamecontroller.cpp
	src/game/server/gamecontroller.h
	src/game/server/gamemodes/ctf.cpp
	src/game/server/player.cpp
	src/game/variables.h
2011-08-13 02:01:40 +02:00