Learath
aeb7ea2971
Don't forget that the client is Sixup
2020-06-19 20:28:55 +03:00
Learath
70ecf785bb
Compatible version filter
2020-06-19 20:28:55 +03:00
Learath
ddaea93e60
Implement the new Chat Commands protocol
2020-06-19 20:28:55 +03:00
Learath
1d4ea6c41b
Drop clients properly
2020-06-19 20:28:55 +03:00
Learath
9a4b1f3615
Fix fake_server
2020-06-19 20:28:55 +03:00
Learath
d794520748
Remove forgotten debug messages
2020-06-19 20:28:55 +03:00
Learath
effa964f08
Translate playerflags
2020-06-19 20:28:55 +03:00
Learath
df42ce8b16
Send gameinfo correctly
2020-06-19 20:28:55 +03:00
Learath
32fb6718dd
Allow joining TEAM_SPECTATOR
2020-06-19 20:28:55 +03:00
Learath
9f71478099
Get Rcon working
2020-06-19 20:28:55 +03:00
Learath
2f760e3e40
Forgot to drop port
2020-06-19 20:28:55 +03:00
Learath
88ca573682
Serverinfo and Register support for 0.7
...
Co-authored-by: Tim Schumacher <tim@timakro.de>
2020-06-19 20:28:55 +03:00
Learath
4067e711ef
More template magic. Cleans up 'send-to-all-sixup'
2020-06-19 20:28:55 +03:00
Learath
9e2434c65d
Better skin colors. Better game message translation
2020-06-19 20:28:55 +03:00
Learath
1514a6df85
Fix NetObj translation, fix sounds
2020-06-19 20:28:55 +03:00
Learath
46a7b6de2c
Fix some oob access
2020-06-19 20:28:55 +03:00
Learath
9dc1a0357a
Get /spec working
2020-06-19 20:28:55 +03:00
Learath
e81c718180
Rework netobjs, fix chat
2020-06-19 20:28:55 +03:00
Learath
eff28c658a
Fix server messages
2020-06-19 20:28:55 +03:00
Learath
939b45a0aa
Actually remove duplicate message
2020-06-19 20:28:55 +03:00
Learath
465fd570e0
Implement whispers
2020-06-19 20:28:55 +03:00
Learath
25664da121
Remove duplicate message
2020-06-19 20:28:55 +03:00
Learath
40247f6b43
Fix chat
2020-06-19 20:28:55 +03:00
Learath
974b373ec2
Translate Damage Indicators
2020-06-19 20:28:54 +03:00
Learath
f9cc634683
Fix recvmmsg issue
2020-06-19 20:28:54 +03:00
Learath
03070d0567
Fix many issues
2020-06-19 20:28:52 +03:00
Learath
807c92f1a4
Generate the 0.7 protocol
2020-06-19 20:27:15 +03:00
Learath
f7e9df7abf
Move the rest of the translation to CServer
2020-06-19 20:27:15 +03:00
Learath
b0e5a37fa9
Do message translation differently
2020-06-19 20:27:15 +03:00
Learath
5000b248bb
Fix things
2020-06-19 20:27:15 +03:00
Tim Schumacher
442148a194
Begin work on 0.7 support
2020-06-19 20:27:15 +03:00
Learath
e9ba23b53a
Migrate to 0.6.5 flags
2020-06-19 20:27:15 +03:00
def
e36dc36b15
Fix demos header ( fixes #2278 )
...
Initially broken in 7aed6476dc
2020-06-19 10:42:19 +02:00
bors[bot]
7d428676e2
Merge #2263
...
2263: Fix /spec + super bug r=Learath2 a=def-
Co-authored-by: def <dennis@felsin9.de>
2020-06-18 22:17:43 +00:00
def
e38cd6b6f2
Fix /spec + super crash ( fixes #2262 )
...
Thanks to Learath2 for finding a better solution.
2020-06-18 23:54:05 +02:00
def
2c7f4c71aa
Minor code style fixes in sql_score.cpp
2020-06-18 23:03:53 +02:00
bors[bot]
13237ee12e
Merge #2245 #2266
...
2245: Stop playing map sound when demo player is paused r=heinrich5991 a=def-
Noticed on Shooting Range map
2266: Reset hook & collision in prediction after kill r=heinrich5991 a=def-
Thanks to Pipou for reporting
Co-authored-by: def <dennis@felsin9.de>
2020-06-18 19:29:41 +00:00
bors[bot]
6f8f606e05
Merge #2276
...
2276: Fix segmentation fault when creating sql tables failed r=heinrich5991 a=Zwelf
`GameServer()->OnShutdown(true);` (which would wait on running threads to exit)
wasn't called if an error occured in the server init. Therefore `CServer` was
freed before the init-thread finished executing, causing a use after free from
`CSqlConnector::ms_ppSqlReadServers` pointing to `CServer->m_apSqlReadServers`.
Fixes #2271
Note that the server exits when creating tables failed. Since the tables are created by default, it has to be disabled explicitly (e.g. `add_sqlserver r teeworlds record teeworlds PASSWORD "localhost" 3306 0`) if the servers should start even when the database connection fails.
Co-authored-by: Zwelf <zwelf@strct.cc>
2020-06-18 19:23:00 +00:00
Zwelf
f5ac6eea56
Fix segmentation fault when creating sql tables failed
...
`GameServer()->OnShutdown(true);` (which would wait on running threads to exit)
wasn't called if an error occured in the server init. Therefore `CServer` was
freed before the init-thread finished executing, causing a use after free from
`CSqlConnector::ms_ppSqlReadServers` pointing to `CServer->m_apSqlReadServers`.
2020-06-18 21:11:36 +02:00
def
7aed6476dc
Allow larger map names
2020-06-18 18:29:27 +02:00
def
882185e299
Make SaveID DEFAULT NULL
2020-06-18 10:32:58 +02:00
def
6fcb8abbd0
Initialize m_SqlRandomMapResult ( fixes #2272 )
2020-06-18 08:18:33 +02:00
def
b3d22204c3
Update credits
2020-06-17 23:23:27 +02:00
bors[bot]
98b448ebcc
Merge #2247
...
2247: Thread safe SQL interaction r=def- a=Zwelf
This PR intends to make the database interaction thread safe and optimizes some SQL queries. This is still a WIP, but since it is a rather big PR I wanted to get feedback early on.
Benefits:
* remove race conditions leading to undefined behavior and potential crashes
* logging game related database results in teehistorian would be possible
Behavior change:
* /top5team prints ranks in reverse order when passing a negative number (like /top5, /top5points)
* Optimize SQL statements for /rank /teamrank /top5 /top5team /points /top5points
* /load without parameters doesn't pass the SQL error to the user (as most other functions)
* Simplify IScore interface
* Add UUID to /save table (update of database schema necessary):
```
ALTER TABLE record_saves ADD SaveID varchar(64);
```
* /save immediately kills team and loads it again if the database insert fails.
still TBD:
* [x] saving (team) score when finishing
* [x] loading team save
* [x] loading initial time and birthday check
* [x] /map and random map votes
* [x] RFC: generate a passphrase (2-3 word) if save-code exists or no save-code is given making /save failures much more rare and save-codes more secure
* [x] clean up code (removing now unused structs, ordering of functions in IScore)
Co-authored-by: Zwelf <zwelf@strct.cc>
2020-06-17 19:35:45 +00:00
bors[bot]
1ccce4a12d
Merge #2270
...
2270: Consider time_freq() r=def- a=Learath2
The timer ticks way faster on macOS leading to some insane pings :D
Co-authored-by: Learath <learath2@gmail.com>
2020-06-17 19:29:18 +00:00
Zwelf
f1b2ff086c
Clean up thread safe SQL refactor
2020-06-17 21:15:07 +02:00
Learath
88780cb495
Consider time_freq()
2020-06-17 20:56:29 +03:00
Learath
eed3e783e0
Mark unused tunes as such
2020-06-17 13:39:54 +03:00
bors[bot]
c4d71c7ef4
Merge #2264
...
2264: Add Entites off sign to front layer (fixes #2261 ) r=Learath2 a=def-
Co-authored-by: def <dennis@felsin9.de>
2020-06-16 19:31:25 +00:00
Zwelf
9f15acdbee
Thread safe random_unfinished_map and modified sql statement
2020-06-15 11:14:15 +02:00
Zwelf
afe96ed69c
Thread safe random_map
2020-06-15 11:14:15 +02:00
Zwelf
7f4dc2bb4e
Thread safe /map
2020-06-15 11:14:15 +02:00
Zwelf
ea31171873
Generate passphrase for save-code
...
* when none is given
* if the given save-code already exist
* if the database connection fails therefore it can't be checked if the save-code already exists
Using the short word list from eff:
https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases
2020-06-15 11:14:15 +02:00
Zwelf
528ca377ed
Thread safe saving of team score
2020-06-15 11:14:15 +02:00
Zwelf
13c80fdc56
Thread safe saving of score
2020-06-15 11:14:15 +02:00
Zwelf
5dcb6f3b0d
Thread save Init
2020-06-15 11:14:15 +02:00
Zwelf
62d56ca8e8
Make database init with create tables synchronous
...
Note: database init without creating tables behaves the same
2020-06-15 11:14:15 +02:00
Zwelf
c278d8dbc3
Read SaveID from database on /load
2020-06-15 11:14:15 +02:00
Zwelf
dbf6ac88f6
Thread save loading of player time and birthday
2020-06-15 11:14:15 +02:00
Zwelf
e9242f45f1
Thread safe /load
2020-06-15 11:14:15 +02:00
Zwelf
031ac52320
Thread safe /save
2020-06-15 11:14:15 +02:00
Zwelf
f5ebbf59b6
Thread safe /load without paramters
2020-06-15 11:14:15 +02:00
Zwelf
7514e93a8a
Optimize /top5points SQL query
2020-06-15 11:14:15 +02:00
Zwelf
fa8972deb6
Thread safe /top5points
2020-06-15 11:14:15 +02:00
Zwelf
62f3f40c00
Optimize /points database query
2020-06-15 11:14:15 +02:00
Zwelf
0f3f845a7f
Thread safe /points
2020-06-15 11:14:15 +02:00
Zwelf
e37cf5f3cb
Thread safe /times
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
1d7289c8f0
Thread safe /top5team and optimize database query
2020-06-15 11:14:15 +02:00
Zwelf
83fbee5f81
Optimize /teamrank database query
2020-06-15 11:14:15 +02:00
Zwelf
a92509a5df
Simplify /top5 SQL statement
2020-06-15 11:14:15 +02:00
Zwelf
9cf28354d7
Thread safe /top5 command
2020-06-15 11:14:15 +02:00
Zwelf
fd44b1dc5b
Reduce boilerplate code needed to start player info requesting thread
2020-06-15 11:14:15 +02:00
Zwelf
f18daa949c
Thread safe /teamrank
2020-06-15 11:14:15 +02:00
Zwelf
e311c39151
Remove unused parameters from IScore interface
2020-06-15 11:14:15 +02:00
Zwelf
68aa157c11
Simplify /rank sql request
2020-06-15 11:14:15 +02:00
Zwelf
eda0bab4bb
Thread safe /rank
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
4152a1995e
Add missing dependeny to sql string helper
2020-06-15 11:14:15 +02:00
Zwelf
9add354367
Use Template for SqlResult
2020-06-15 11:14:15 +02:00
Zwelf
873f478a82
Rename Debut to Offset
2020-06-15 11:14:15 +02:00
Zwelf
4ee08dcc5c
Remove unused arguments from IScore
2020-06-15 11:14:15 +02:00
Zwelf
69cf72dae4
Adjust file based ShowRank, ShowTeamRank, ShowPoints consistent functions to sql
2020-06-15 11:14:15 +02:00
Zwelf
3d25953036
Ordered functions
2020-06-15 11:14:14 +02:00
Zwelf
a990acc512
Remove existing CRandomMapResult to simplify IScore interface
2020-06-15 11:12:57 +02:00
Zwelf
3af18f5f60
Create shared pointer on demand
2020-06-15 10:59:59 +02:00
Zwelf
0891a0fd51
Remove some unnecessary header includes
2020-06-15 10:59:59 +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
add4fab645
Disallow team join while save command is active
2020-06-15 10:59:46 +02:00
Zwelf
7146eb572b
Save error handling clean up
2020-06-15 10:59:46 +02:00
Zwelf
2d7886bf33
Small cleanup
2020-06-15 10:59:46 +02:00
def
0d9d873abf
Reset hook & collision in prediction after kill
...
Thanks to Pipou for reporting
2020-06-14 22:50:25 +02:00
12pm
01092a30c1
add sv_tele_others_auth_level
2020-06-14 19:21:12 +03:00
def
2d0340b1cd
Add Entites off sign to front layer ( fixes #2261 )
2020-06-14 16:01:32 +02:00
Learath
8d255921b8
Fix out of bounds read
2020-06-14 12:38:52 +03:00
bors[bot]
6ccfdd55f9
Merge #2258
...
2258: Don't miss dummy disconnects. Fix #2257 r=def- a=Learath2
Co-authored-by: Learath <learath2@gmail.com>
2020-06-11 10:40:17 +00:00
Learath
345798f9e1
Don't miss dummy disconnects. Fix #2257
2020-06-11 13:33:08 +03:00
def
5676e8842a
Improve quality default, persist video recorder settings when running other DDNet client
2020-06-06 00:04:42 +02:00
ZombieToad
f12d84c2c7
Update gameclient.cpp
...
so demo renders the right clan as green
2020-06-04 13:49:29 +01:00