Commit graph

11394 commits

Author SHA1 Message Date
Arda Demir 35995322d7 Add +resetdummy 2020-08-13 11:19:13 +03:00
Zwelf f3619c27ee Remove incorrect check when inserting team ranks
Can be reliable reproduced by finishing in this sequence:

1. A, B
2. A, C
3. B, C <- triggers error

Fixes #2568
2020-08-13 09:58:56 +02:00
bors[bot] f2cf70c0c7
Merge #2567
2567: Improve sqlite transfer script r=def- a=Zwelf

Good that I looked over the script again. Additionally fixed that the script tell the user to delete too much after finishing the transfer. To clarify: the backup database `ddnet-server.sqlite` shouldn't be deleted.

Solves #2565 

Co-authored-by: Zwelf <zwelf@strct.cc>
2020-08-12 21:43:31 +00:00
Zwelf ca24611c0c Do not recommend to deleting ddnet-server.sqlite database
as it might be still in use or there might be even new ranks added to the database
2020-08-12 23:38:09 +02:00
Zwelf 9848b3c759 SQLite transfer script: Warn if database does not exist yet and handle partially created sqlite tables 2020-08-12 23:38:09 +02:00
def 7172305657 Update language files ("Client message")
As noticed by TortiLeq
2020-08-12 11:55:56 +02:00
bors[bot] 4928d52bc9
Merge #2557
2557: Add SQLite as dependency in README r=heinrich5991 a=def-



Co-authored-by: def <dennis@felsin9.de>
2020-08-12 09:03:31 +00:00
Dennis Felsing c41826d9fd
Merge pull request #2560 from Zwelf/pr-fix-teamrank-not-updating
Fix team rank not updating after SQLite update
2020-08-12 11:02:02 +02:00
Zwelf a866c3e9b7 Fix team rank not updating after SQLite update 2020-08-12 10:57:43 +02:00
def 3e0e4bd3a8 Add SQLite as dependency in README 2020-08-12 10:29:01 +02:00
def 048bb992bb Version 14.3.2 2020-08-11 14:07:16 +02:00
def b756eaf6dc Ignore non-existing dll file
Happened when adding the new sqlite3.dll file.
2020-08-11 14:07:16 +02:00
Dennis Felsing 5663357fef
Merge pull request #2556 from def-/pr-left-right-editbox
Editor: Fix Left/right arrow keys when editing text
2020-08-11 14:05:50 +02:00
def a8aeaa4cb6 Editor: Fix Left/right arrow keys when editing text
as reported by Silex
2020-08-11 12:21:33 +02:00
Dennis Felsing d44d596458
Merge pull request #2554 from heinrich5991/pr_ddnet_fix_token
Fix the same token being generated for each client
2020-08-10 23:46:03 +02:00
def e0c06464d2 Version 14.3.1 2020-08-10 23:43:10 +02:00
bors[bot] 3108b51ff1
Merge #2555
2555: Pr chinese translation r=def- a=plsplsplslol

found some problems with chinese translation

Co-authored-by: plsplsplslol <alpootagpro@gmail.com>
2020-08-10 21:34:53 +00:00
plsplsplslol 9787f20e52 fixed translation because the original translator thought that this was supposed to mean a person left the game 2020-08-10 14:20:54 -07:00
plsplsplslol b56cd3f166 removed the s 2020-08-10 14:18:33 -07:00
bors[bot] 62a2271253
Merge #2552
2552: Flag afk when player timed-out r=def- a=ardadem

Timed out players kills entire team especially on t0 maps. So i just thought we can flag them as afk.

Co-authored-by: Arda Demir <ddmirarda@gmail.com>
2020-08-10 20:41:31 +00:00
heinrich5991 2db4e2a3c8 Fix the same token being generated for each client
Theoretically, a regression test would be nice here, but we don't really
have the infrastructure…

This fixes a spoofing vulnerability.
2020-08-10 22:38:49 +02:00
Arda Demir fabc194081 Flag afk when player timed-out 2020-08-10 21:59:31 +03:00
Dennis Felsing 8239836a02
Merge pull request #2548 from def-/pr-skins-license
Move skins license information to its own file
2020-08-10 19:36:56 +02:00
Dennis Felsing 0403e772ad
Merge pull request #2549 from def-/pr-for-loop-c
Satisfy old C standard
2020-08-10 19:35:38 +02:00
bors[bot] 2d01f91e0e
Merge #2550
2550: Fix bundling SQLite3 on Mac r=Zwelf a=def-

Verified locally

Co-authored-by: def <dennis@felsin9.de>
2020-08-10 17:07:18 +00:00
def 0a9eb72d52 Fix bundling SQLite3 on Mac
Verified locally
2020-08-10 18:35:04 +02:00
def d08535684e Move skins license information to its own file 2020-08-10 18:23:31 +02:00
def 467778fc56 Satisfy old C standard
system.c:2325:2: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
  for(int cursor = 0, pos = 0; pos <= truncation_len && cursor < dst_size && size != cursor; cursor = str_utf8_forward(src, cursor), pos++)
2020-08-10 18:11:51 +02:00
Dennis Felsing 77d61973fa
Merge pull request #2545 from def-/pr-version-14.3
Version 14.3
2020-08-10 17:50:29 +02:00
Dennis Felsing 9d4a77130c
Merge pull request #2541 from def-/pr-editor
Arrow key support in editor
2020-08-10 17:50:14 +02:00
def 4ceb4ddb9f Version 14.3 2020-08-10 17:50:05 +02:00
def 285701695b Prevent crash by keeping m_SelectedImage/Sound in correct range 2020-08-10 17:41:58 +02:00
def 29332ea72e Editor: Add ctrl+n for new map, ctrl+a to append map, add hints 2020-08-10 09:28:36 +02:00
bors[bot] b06bea7c04
Merge #2465
2465: Sqlite3 support and prepared statements r=heinrich5991 a=Zwelf

This PR changes the abstraction layer of the score backend to thin abstractions over the MySQL and SQLite3 library. It executes all Queries in one worker thread making it easier to use the ddnet thread pool. This doesn't change much, because each the mysql-connection was locked with `m_SqlLock` beforehand, serializing writes and reads respectively.

Behavior change (even though I tried to minimize them):

* `sv_use_sql` is used to determine if mysql server should be added
* `sv_sql_failure_file` is replaced by `sv_sqlite_file`
* `sv_sqlite_file` is either used as a backup server when `sv_use_sql` is enabled or as the primary read+write server when `sv_use_sql` is disabled
* `/load` now escapes the like-string

Since I am not good at designing config file commands, I would appreciate feedback on this part.

WIP:
* [x] rewrite SQL statements to work in both MySQL and SQLite (preferable just ANSI-SQL)
  * [x] create tables (`COLLATE BINARY` and encoding info)
  * [x] store rank (UPSERT for points)
  * [x] load birthday (different function in sqlite for time handling)
  * [x] `/mapinfo` (`convert(? using utf8mb4) COLLATE utf8mb4_general_ci`)
  * [x] `/map` (`convert(? using utf8mb4) COLLATE utf8mb4_general_ci`)
  * [x] store teamrank (`GROUP_CONCAT`)
  * [x] `/teamrank` (`GROUP_CONCAT`)
  * [x] ~`/top5team` (`GROUP_CONCAT`)~ doesn't contain GROUP_CONCAT
  * [x] `/times` (`UNIX_TIMESTAMP`)
  * [x] `/load` without any arguments (`UNIX_TIMESTAMP`)
* [x] all commits compiling, making future bisect easier
* [x] write a sqlite_to_mysql script
* [x] write an old_file_server to sqlite script
* [x] gracefully shutdown DbPool

Co-authored-by: Zwelf <zwelf@strct.cc>
2020-08-09 23:30:08 +00:00
bors[bot] 026ac99895
Merge #2543
2543: Remove unlicensed skins (fixes #2518) r=heinrich5991 a=def-



Co-authored-by: def <dennis@felsin9.de>
2020-08-09 23:23:40 +00:00
bors[bot] 3fde3ac496
Merge #2538
2538: Add Client message color option in HUD setting r=Learath2 a=def-

As requested by reo

Co-authored-by: def <dennis@felsin9.de>
2020-08-09 16:58:41 +00:00
Zwelf 961ad077fb Don't print MySQL password to console 2020-08-09 18:18:25 +02:00
Zwelf 81e5bb924c Move sync_barrier to only used place
to remove `#include <windows.h>` from header file preventing compiling on windows
2020-08-09 18:17:42 +02:00
Zwelf 5893913922 Clean up includes in sql backend 2020-08-09 17:54:25 +02:00
Zwelf 5b53a05a40 Rename LoadString to FromString to fix windows build 2020-08-09 17:14:11 +02:00
def 20e8bfd12a Try to fix Windows build 2020-08-09 17:14:11 +02:00
Zwelf 61ffd88f34 Reformulate #if not defined() because MSVC errors on this expression 2020-08-09 17:13:21 +02:00
def 7be7160d9b Remove unlicensed skins (fixes #2518)
and mention skin licenses (fixes #2544)

Still missing: Which skin is by btd?
2020-08-09 15:07:08 +02:00
bors[bot] 2aba0a48db
Merge #2536
2536: Send extended snap objects as is to Sixup r=def- a=Learath2

Seems to work, @fokkonaut can you take a look?

Co-authored-by: Learath <learath2@gmail.com>
2020-08-08 12:53:55 +00:00
bors[bot] eab75de7cf
Merge #2542
2542: Remove IP skin r=heinrich5991 a=def-

Apparently that's a pokemon, definitely can't use that one

Co-authored-by: def <dennis@felsin9.de>
2020-08-08 11:33:08 +00:00
def 802c97a79d Remove IP skin
Apparently that's a pokemon, definitely can't use that one
2020-08-08 13:10:59 +02:00
def 1ad43a76dd Editor: Support up/down for images/sounds 2020-08-08 12:22:37 +02:00
def 4c9d03c063 Editor: Left/Right switch between layers/images/sounds 2020-08-08 12:09:15 +02:00
def c66201dd22 Editor: Get rid of some debugging output 2020-08-08 12:09:03 +02:00
def 8174dfa779 Editor: Support up/down keys to switch layers
Also with shift to add layers

As suggested by Lady Saavik
2020-08-08 12:06:17 +02:00