Commit graph

2187 commits

Author SHA1 Message Date
Learath 389b432758 Take a blind stab at #718 2017-04-11 21:47:27 +02:00
Learath d29f2306ef Tees must be teamed up before loading 2017-04-11 21:18:26 +02:00
Henritees 33cdfee821 Handle multi-line motd correctly in the console
Rewrote MOTD processing to handle both kinds of newlines correctly
and added an option to disable printing it to the console.

Closes #711.
2017-04-03 12:29:31 +02:00
east bffb989a11 add generated rcon password as default auth key 2017-03-29 14:56:44 +02:00
heinrich5991 1d81d56850 Introduce new, vanilla-compatible server info protocol
This means that we have a reliable and fast way to query for extended info,
while also not wasting network bandwidth.

The protocol is designed to be extensible, there's four bytes space for
encoding more request types (currently zeroed), and there's one string in each
response packet and one string for each player available (currently the empty
string).

The protocol itself has no problems with more than 64 players, although the
current client implementation will drop the player info after the 64th player,
because it uses a static array for storage.

Also fixes #130, the player list is just sorted each time new player info
arrives.
2017-03-29 12:56:13 +02:00
necropotame b8e4e5beea Fix style in several places 2017-03-22 19:45:14 +01:00
heinrich5991 f5446ca3b0 Fix unsigned/signed comparison warning when interacting with freetype 2017-03-19 17:19:59 +01:00
heinrich5991 d91cca728d Partially revert warning-fixing, it caused warnings on other systems 2017-03-12 16:47:37 +01:00
Ryozuki 84726547aa Fix warning also for server.cpp, and fixed client.cpp 2017-03-12 14:49:18 +01:00
Ryozuki 79f5b26cf7 Moved _WIN32_WINNT to the top instead 2017-03-12 14:45:57 +01:00
Ryozuki 1614e59e8f Fix some warnings 2017-03-12 12:12:39 +01:00
Dennis Felsing 1d67e29c74 Merge pull request #663 from heinrich5991/pr_ddnet_fix_default_pws
Fix handling of default passwords
2017-03-10 12:45:01 +01:00
heinrich5991 87596c30ac Fix handling of default passwords
It was horribly broken before. :) Only the first password set via
`sv_rcon*_password` worked, and that only due to a bug in `AddHashKey`
-- `AddHashKey` incorrectly assumed that only key slots greater than 0
are valid, but 0 is valid too.

Fix default passwords on password removal, fix no admin password being
generated if you only had `sv_rcon_mod_password` or
`sv_rcon_helper_password` set. Add an assert that would have caught our
mistake.
2017-03-10 12:33:34 +01:00
heinrich5991 f2b2eb8639 Allow easier login for passwords with spaces 2017-03-10 12:30:41 +01:00
heinrich5991 72f2eb32ee Fix wording in scripts/hash_passwords.py, fix brace in other file 2017-03-09 13:37:54 +01:00
Dennis Felsing 761c3c9be1 Merge pull request #646 from heinrich5991/pr_ddnet_brace_style
Fix the brace style in some places
2017-03-09 13:31:21 +01:00
heinrich5991 d98abf35db Rename WEBSOCKETS to CONF_WEBSOCKETS 2017-03-07 13:03:37 +01:00
heinrich5991 5b63a33095 Merge pull request #639 from Learath2/dd_pr_rconauth2
New auth system for rcon.
2017-03-06 20:57:42 +01:00
heinrich5991 6302e4d7e0 Fix some style issues and a > to >= 2017-03-06 20:11:23 +01:00
heinrich5991 c1e826e853 Fix key slot indices after removing a key 2017-03-06 18:02:19 +01:00
Learath2 8c79f28802 Fix a crash on malformed input 2017-03-06 15:18:52 +01:00
Learath2 b49c13e617 KeySlots are 0 indexed... 2017-03-06 14:14:45 +01:00
Learath2 71fb030443 Fix a comparison. Hate backwards compatibility... 2017-03-06 13:46:02 +01:00
Learath2 4d0f036b4f Forgot to negate the comparisons 2017-03-06 13:22:17 +01:00
Learath2 9800360340 Check the return from str_hex_decode. Remove comment 2017-03-06 12:59:47 +01:00
Learath2 c5a12e3eba Fix the status command for logged out people 2017-03-06 12:35:37 +01:00
Learath2 6f1f348715 Fix c&p fail 2017-03-06 12:35:09 +01:00
Learath2 4101acd747 Add rcon_login 2017-03-06 10:31:05 +01:00
Learath2 95bb9894a7 Get rid of pw generation in CServer, Err out in CAuthManager instead 2017-03-04 23:16:02 +03:00
Learath2 3a22a4b62d Fix some issues 2017-03-04 23:06:22 +03:00
heinrich5991 ba5af42b1f Fix the brace style in some places 2017-03-04 15:43:49 +01:00
heinrich5991 a13cdc25b2 Merge pull request #632 from Learath2/dd_pr_friend
Put hearts before friends names. Closes #606
2017-03-04 15:37:24 +01:00
Learath2 cf9f3e3d38 Forgot one block 2017-03-04 10:58:02 +03:00
Learath2 d475eddb88 Add key ident to status command 2017-03-02 19:02:57 +03:00
Learath2 b7cbaedea0 New auth system for rcon 2017-03-02 18:16:29 +03:00
Dennis Felsing 4c1053c6c4 Merge pull request #635 from heinrich5991/pr_dummy_input_demo_filter
Refactor dummy input and demo filtering
2017-03-01 07:59:24 +01:00
heinrich5991 b841fdc203 Bump version requirement for warmup race timer 2017-03-01 00:08:56 +01:00
heinrich5991 6517567e7e Merge pull request #602 from necropotame/gametick
Send the race time using warmup timer
2017-03-01 00:05:22 +01:00
heinrich5991 305a67d492 Initialize variable in the demo recorder 2017-02-28 17:16:22 +01:00
heinrich5991 e3f2316106 Revert "Revert "Refactor dummy input and demo filtering""
This reverts commit 187560c8c0.
2017-02-28 10:08:14 +01:00
Dennis Felsing 187560c8c0 Revert "Refactor dummy input and demo filtering"
This reverts commit 8375f4888e.
2017-02-28 08:15:35 +01:00
necropotame 6a9406dc81 Fixed merge conflict 2017-02-28 07:31:39 +01:00
necropotame 4cfe96801b Send the race time using warmup timer 2017-02-28 07:31:24 +01:00
Learath2 fa22425f26 Add a checkbox to disable friend heart 2017-02-27 23:56:22 +03:00
Learath2 c76849c51a Add sliders for friend chat color 2017-02-27 23:39:06 +03:00
Dennis Felsing eb36f421c5 Merge pull request #630 from heinrich5991/pr_ddnet_cmake_basic
Add overly simple CMakeLists.txt
2017-02-27 16:28:19 +01:00
heinrich5991 8375f4888e Refactor dummy input and demo filtering
Remove references to src/game/ from src/engine/
2017-02-23 14:13:14 +01:00
Learath2 09552a6d9f Get rid of trailing whitespaces 2017-02-21 19:11:43 +03:00
Learath2 9cd5fa53e5 Fix horrible indent. 2017-02-09 13:01:19 +01:00
east 0acad1a28b dnsbl fix: HostLookup check result properly 2017-02-01 12:13:50 +01:00
def 224b9d5443 echo command for clients prints to chat instead of mostly useless console 2017-01-06 00:17:53 +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 b510db9ee9 Add the VITAL flag to fastdownload packets
This lets 0.6.4 clients connect to DDNet servers again. Instead of doing
our own resend logic, just always send `sv_map_window` packets ahead and
let the Teeworlds network deal with possible resends.
2016-11-18 15:12:48 +01:00
Dennis Felsing 243ed93fdf Merge pull request #578 from heinrich5991/pr_ddnet_better_confusables
Implement the confusable algorithm from Unicode more closely
2016-11-15 13:43:26 +01:00
Dennis Felsing c21399c4c5 Merge pull request #567 from d3fault/master
dummy copyMoves/hammer disabling when dummy connecting
2016-11-07 10:20:11 +01:00
Dennis Felsing dc18f16623 Cleanup 2016-11-07 10:19:32 +01:00
Dennis Felsing b7cb4ee017 Merge pull request #573 from ddnet/pr-demo-speed
Refactor demo speed setting, add 1.5x speed (fixes #568)
2016-11-07 10:19:05 +01:00
Dennis Felsing ab6ed4c589 Discard invalid snaps 2016-11-04 13:26:46 +01:00
def 34531c0696 cleanup 2016-11-03 22:10:31 +01:00
heinrich5991 cd3b0ae855 Implement the confusable algorithm from Unicode more closely
See UTS#39 "Unicode Security Mechanisms":
http://www.unicode.org/reports/tr39/

This means that characters with accents or other things around them are
now considered the confusable with the base character.

Fixes #557. Fixes #575.
2016-10-30 13:45:55 +01:00
Dennis Felsing c92e10914a Refactor demo speed setting, add 1.5x speed (fixes #568) 2016-10-28 09:31:22 +02:00
d3fault d6b732113e dummy copyMoves/hammer disabling when dummy connecting 2016-10-26 15:00:02 -07:00
east 823e330a76 Merge pull request #554 from heinrich5991/pr_ddnet_random_timeouttoken
Generate server-specific timeout codes
2016-10-05 12:21:51 +02:00
ChillerDragon 944752b78a Fixed typo. 2016-10-04 20:08:39 +02:00
heinrich5991 fce9ec6cda Replace UI elements for the timeout code
Now you can regenerate your timeout seed with the click of a button.
2016-10-03 13:56:15 +02:00
heinrich5991 89b6d0c3da Fix C89 compilation and a copy&paste mistake 2016-10-03 12:31:11 +02:00
heinrich5991 7ca2697135 Generate server-specific timeout codes
This way, servers can no longer hijack the timeout codes of clients.
Timeout codes are generated from md5(seed + dummy + server address).

If `cl_timeout_seed` is set to the empty string, the old config options
are used instead.
2016-10-02 11:36:42 +02:00
heinrich5991 e950351346 Put the password generation into base 2016-10-01 23:04:16 +02:00
gjdaniel1999 142ae25e5d Fix #267
Fixes crashes caused by dns timeout.
2016-09-28 10:48:51 +05:30
def 3ed6692ad7 SQL string cleanup 2016-09-25 10:41:34 +02:00
Dennis Felsing 5a29fa8fca Merge pull request #544 from east/dnsbl
Basic DNSBL implementation
2016-09-19 11:57:07 +02:00
Dennis Felsing 98a2f459b6 Merge pull request #533 from BannZay/openCurrentMap
Load Current Map button added
2016-09-05 18:27:54 +02:00
BannZay 66c44cea79 MAX_PATH_LENGTH instead of pure magick 2016-09-05 18:54:35 +03:00
east c6efc85a80 dnsbl_status added 2016-09-05 14:05:07 +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
ACTom 363d0f81a4 Fix editor cannot input
fix bug that press ctrl+shift+e enter editor and cannot input anything.
fixed by TsFreddie
2016-08-27 02:29:57 +08:00
BannZay c658411f15 Load Current Map button added 2016-08-23 14:29:53 +03:00
Freddie Wang e5f23cd87c Added full IME support
Now with display of editing text.
2016-08-14 22:16:06 -07:00
Freddie Wang 51a7b01190 temporary ime fix
Fixed Asian IMEs which need to press enter to confirm candidate text.

Disabled keyinput while editing candidate in IME.
2016-08-14 21:01:31 -07:00
Dennis Felsing 1990707d68 Merge pull request #527 from heinrich5991/pr_no_compressed_control
Disallow compressed control messages
2016-08-13 00:39:42 +02:00
heinrich5991 884ad25204 Disallow compressed control messages 2016-08-12 18:41:03 +02:00
def 28f50e4440 Revert "Implement comma in search and exclude queries to separate search terms"
This reverts commit 3341e18d13.
2016-08-07 00:52:00 +02:00
def 3341e18d13 Implement comma in search and exclude queries to separate search terms 2016-08-02 22:16:02 +02:00
Dennis Felsing 8b10d15845 Merge pull request #509 from timakro/pr_no_disconnect_timeout
Don't send disconnect on timeout
2016-07-08 17:25:43 +02:00
Tim Schumacher 46b75886c9 Don't send disconnect on timeout 2016-07-08 17:00:47 +02:00
def 0688229f0d Forbid names starting with /, as they can be abused to make people write chat commands 2016-07-08 16:38:05 +02:00
Dennis Felsing 45bf601570 Merge pull request #495 from heinrich5991/pr_ddnet_smaller_dummy_map
Reduce dummy map size from 549 bytes to 191 bytes
2016-07-03 23:26:42 +02:00
def 866ffe8ef2 Fix mouse when opening editor with cl_editor 1 2016-07-03 23:16:43 +02:00
def 4681f69b1b Introduce cached ticks for client again, this time with workaround for
particles. Hopefully not many other parts of the code will need this.
2016-06-28 23:36:34 +02:00
def 19feacb2ad Revert "Cache time on client as well"
This reverts commit 987fad55cd.

Broke too many graphics animations, couldn't find a fix
2016-06-28 02:51:26 +02:00
def 987fad55cd Cache time on client as well
- Fixes FPS for me after suspend from 40 to 500 fps
- Should generally improve performance
- Might lead to a few problems where we need to call set_new_tick() in a
  few more positions, so test please
2016-06-28 02:16:55 +02:00
def aeec3c6396 Add support for mousewheelleft and mousewheelright 2016-06-21 15:31:28 +02:00
def 8753620e42 Also use cl_reconnect_timeout on 'Too weak connection' 2016-06-19 02:17:23 +02:00
def e518a701a3 Clean up sql dbg_msg calls 2016-06-15 11:52:40 +02:00
heinrich5991 0244640aca Also don't send the token magic to unsupported clients
Since only the client can initiate the secure session, there's basically
no reason to send this magic to clients which didn't advertise the
feature.
2016-06-08 09:57:17 +02:00
Dennis Felsing 3dd2f23d45 Merge pull request #499 from heinrich5991/pr_ddnet_no_tokens_for_vanilla
Don't send token to harmless vanilla clients
2016-06-07 16:22:29 +02:00
heinrich5991 a2e64f0a16 Don't send token to harmless vanilla clients 2016-06-07 15:52:57 +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
heinrich5991 4d6657e3f1 Fix CRC of dummy map 2016-05-26 11:06:56 +02:00
heinrich5991 b075f1ff1b Use a dummy map with background 2016-05-25 23:47:34 +02:00
heinrich5991 702ed7e023 Reduce dummy map size from 549 bytes to 191 bytes
Also include a tool to generate said map; the map is generated without
any hacks. It could likely be made smaller using a few tricks.
2016-05-24 01:47:04 +02:00
heinrich5991 e353aa80b2 Don't send uninitialized memory over the network 2016-05-23 11:48:23 +02:00
H-M-H b648b530d5 Merge branch 'master' into sqlmasters 2016-05-20 23:40:29 +02:00
Tim Schumacher 96bcedec29 just set first char of ddnet filter to zero 2016-05-19 15:54:52 +02:00
Tim Schumacher dae855ee9f clear ddnet filter strings before appending 2016-05-19 15:51:48 +02:00
def 1645310750 Keep reading packets after invalid control packet 2016-05-17 23:44:57 +02:00
def bb634d7641 Reconnect to last server address, not the one selected in browser 2016-05-17 18:56:33 +02:00
HMH c4843868c4 do not log the sql-passwords 2016-05-16 15:41:52 +02:00
HMH a073d22509 set timeout for sql-reads/writes 2016-05-16 15:37:51 +02:00
def 695bf346ac Make gfx_refresh_rate functional (fixes #255) 2016-05-10 17:43:27 +02:00
def 2fc2515e0f Fix DDNet server browser to refresh only once on start, not twice 2016-05-10 12:40:33 +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
def f3a4069867 Set gfx_highdpi to 0 as default (needs someone to fix it on Win >= 8.1 and Mac) 2016-05-08 19:40:53 +02:00
Dennis Felsing 6c771f6bff Merge pull request #475 from east/timeoutprotfix
Copy resendbuffer on timeout protection
2016-05-07 23:41:54 +02:00
def 461a09451d Improve handling of multiple screens and missing screens 2016-05-07 23:19:46 +02:00
def 642e7f7671 Still hide window at start (fixes fullscreen in Gnome) 2016-05-07 21:16:31 +02:00
east 1cbaa0c4ef copy resendbuffer on timeout protection 2016-05-07 19:28:16 +02:00
def 9bd30ce447 Make high-dpi screen support optional 2016-05-07 17:47:05 +02:00
def 4631a7cfa6 Try to enable HighDPI (untested) 2016-05-07 16:35:31 +02:00
def 340c4d2398 Leave it up to the WM where to position windows 2016-05-07 15:59:40 +02:00
def c325b08087 Add inp_mouseold for warped mouse input 2016-05-07 15:59:13 +02:00
def f2100fbad7 Change window focus handling (disable input grab when focus lost) 2016-05-06 11:29:34 +02:00
def 939f2136c0 Nicer way of handling Mac fifo rewinding (just don't use high level file streams) 2016-05-05 23:32:55 +02:00
H-M-H 319729e207 ifdef for rewind as it is only required of OS X 2016-05-05 21:15:15 +02:00
H-M-H 491d878a64 always read fifo from start 2016-05-05 20:29:31 +02:00
Dennis Felsing e7af8cfdd7 Merge pull request #466 from Ryozuki/pr_showpred
Fixed cl_showping (now cl_showpred)
2016-05-05 18:59:01 +02:00
def 14f1670fda Fix fifo console to remove newline character at end 2016-05-05 18:48:15 +02:00
Ryozuki 82d2a994ed Fixed cl_showping (now cl_showpred) 2016-05-05 18:07:00 +02:00
H-M-H 931d99e4c2 also destroy locks created by CSqlServer 2016-05-04 23:39:16 +02:00
def 1b668047c8 Clean up auto reconnect and make it independent of rendering 2016-05-04 18:23:00 +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 13688bbb2a fixed indentation 2016-05-04 00:27:03 +02:00
H-M-H e351080dd3 removed double semicolons 2016-05-04 00:24:54 +02:00
H-M-H c9e65c7931 Merge branch 'master' into sqlmasters 2016-05-03 23:07:24 +02:00
Henningstone be010ff370 Fixed crashbug in fifo.cpp 2016-05-03 19:17:44 +02:00
def a954241169 style 2016-05-02 23:37:40 +02:00
def 21ac41bfae Clean up fifo console 2016-05-02 23:36:21 +02:00
def 61e47422f6 Clean up debug messages a bit (lower case, no useless errors) 2016-05-02 21:35:32 +02:00
def a8ce73dffa Comment m_InpuIgnoredModifiers a bit 2016-05-02 18:21:54 +02:00
def a9ed7035ee Add inp_ignored_modifiers to ignore set of keyboard modifiers 2016-05-01 23:07:19 +02:00
def 28571e9cb5 Damn Windows XP 2016-05-01 20:23:14 +02:00
def 0bab90aa20 ALT modifier has no special meaning for key input 2016-05-01 19:57:38 +02:00
def 487de16200 Anotehr WinXP fix 2016-05-01 19:56:18 +02:00
def dc45ecbe6d Try to fix du.bat 2016-05-01 19:56:13 +02:00
def a4840cdfd3 Fix ed_showkeys with mousewheel 2016-05-01 19:34:16 +02:00
def faa576e73d Another mouse fix try 2016-05-01 15:34:36 +02:00
def 981533e177 More mouse fixes with SDL2 2016-05-01 15:20:52 +02:00