Learath
3a9fa693f2
Set LastChangeInfo on a Sixup skin change
2020-06-24 16:25:35 +03:00
def
243be18fb4
Keeping multiple states consistent is hard ( fixes #2315 )
...
let's go recount every time
2020-06-24 14:50:32 +02:00
def
5b3b42b771
Make it more clear that this is a sixup translation server
2020-06-24 14:49:23 +02:00
def
ff4c2c51ec
Don't fail on empty teamtop5
2020-06-24 12:13:18 +02:00
trml
ca36f4787c
Ensure that team state is always sent
2020-06-23 23:57:33 +02:00
Learath
5293f78f22
Translate the emoticon message
2020-06-23 12:25:04 +03:00
def
85f772ba56
Fix array as initializer g++ 4.9 error ( fixes #2320 )
2020-06-23 08:02:09 +02:00
Learath
ce5aca4759
Check for a null CPlayer::m_pCharacter
...
Players need not have characters at all times
2020-06-23 01:36:51 +03:00
bors[bot]
6384ebf13f
Merge #2321
...
2321: Use the 0.7 race features better r=def- a=Learath2
Mostly tested, couldn't test the diffs though as I don't have score set up. It looks good to me though.
Co-authored-by: Learath <learath2@gmail.com>
2020-06-22 16:04:18 +00:00
Learath
62d014d999
Forgot we faked ids for vanilla
2020-06-22 19:02:17 +03:00
Learath
287e3e2a45
Use 0.7 finish messages
2020-06-22 18:08:08 +03:00
def
07830c868f
Fix whitespace in teeinfo.cpp
2020-06-22 15:06:01 +02:00
def
252cda2d49
Use str_comp instead of strcmp
...
error: ‘strcmp’ was not declared in this scope
2020-06-22 14:47:49 +02:00
def
79cb7d14eb
Don't log preprocess nullptr return
2020-06-22 10:06:55 +02:00
def
9d9d5e26e6
Fix double hook sound in 0.7
2020-06-22 09:27:41 +02:00
bors[bot]
39eae1935b
Merge #2312
...
2312: Fix crash when player voting random_map leaves and vote passes r=def- a=Zwelf
Closes #2310
Co-authored-by: Zwelf <zwelf@strct.cc>
2020-06-22 05:47:46 +00:00
Zwelf
b96d8673f3
Fix crash when player voting random_map leaves and vote passes
...
Closes #2310
2020-06-22 00:47:49 +02:00
def
b1ff7d3ef2
Handle invalid packets more gracefully
2020-06-22 00:13:16 +02:00
def
9fccd5ecf6
Fix team rank for long map names
2020-06-21 23:47:45 +02:00
Learath
ea3772ce2a
Don't send redundant commands. Remove /team on clientside.
2020-06-21 17:28:02 +03:00
Learath
35acd21933
Use the racetimer in 0.7
...
Clean up /timer while at it
2020-06-21 17:15:08 +03:00
bors[bot]
4dd72df777
Merge #2297
...
2297: Ingame time is in milliseconds on 0.7 r=def- a=Learath2
Co-authored-by: Learath <learath2@gmail.com>
2020-06-20 17:25:02 +00:00
Learath
28905c4659
Disable timeout for 0.7 clients
2020-06-20 19:52:23 +03:00
Learath
865afa613b
Ingame time is in milliseconds
2020-06-20 17:31:06 +03:00
bors[bot]
17e77d73bb
Merge #2291
...
2291: Make PlayerResult messages an union variant r=def- a=Zwelf
and some small style and readability fixes in sql_score.
Co-authored-by: Zwelf <zwelf@strct.cc>
2020-06-20 12:44:59 +00:00
bors[bot]
a3ab572fdc
Merge #2290
...
2290: Restore old message behavior when using /load and /save r=def- a=Zwelf
Only notify the player initiating /load about the error and don't send
'Loading initiated by ...' and 'Saving initiated by ...' messages resulting
in two messages per /load and /save.
Not sure if the old behavior is better or if we want to keep the new with sending two messages per /save and /load.
Co-authored-by: Zwelf <zwelf@strct.cc>
2020-06-20 12:34:28 +00:00
bors[bot]
07f6e71376
Merge #2289
...
2289: Fix votes called from 0.7 r=def- a=Learath2
Never assume how structures are laid out
Co-authored-by: Learath <learath2@gmail.com>
2020-06-20 12:27:22 +00:00
Zwelf
1e4ccd7cc2
Small style and readability fixes in sql_score
2020-06-20 14:08:38 +02:00
Zwelf
67643e82b0
Make PlayerResult messages an union variant
...
as it is only used for DIRECT and ALL variants and for no other variants
2020-06-20 14:04:08 +02:00
Learath
8d422dfd70
Fix snapping for ninja
2020-06-20 14:24:38 +03:00
Learath
b032eddcb4
Fix votes called from 0.7
2020-06-20 14:22:46 +03:00
Zwelf
673f59d99f
Restore old message behavior when using /load and /save
...
Only notify the player initiating /load about the error and don't send
'Loading initiated by ...' and 'Saving initiated by ...' messages resulting
in two messages per /load and /save.
2020-06-20 13:03:25 +02:00
bors[bot]
4a810091b1
Merge #2284
...
2284: Remove sv_spectator_votes r=heinrich5991 a=def-
Co-authored-by: def <dennis@felsin9.de>
2020-06-20 10:46:03 +00:00
def
c53528b92f
Allow spectators to start votes
2020-06-20 11:20:54 +02:00
Learath
6db72b2388
Times are no longer negative in 0.7
2020-06-20 11:59:46 +03:00
heinrich5991
e294da41ba
teehistorian: Track whether clients join via the 0.7 protocol
2020-06-19 22:06:39 +02:00
Learath
75e96aa5d3
Get rid of more magic constants, adapt to 0.7
2020-06-19 21:48:48 +03:00
Learath
623ba68c19
Fix an oversight on skin conversion and some UB
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
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
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
974b373ec2
Translate Damage Indicators
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
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
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
79ef6c0e84
Use CSaveTee for rescue ( fixes #2241 )
2020-06-18 23:41:37 +02:00
def
2c7f4c71aa
Minor code style fixes in sql_score.cpp
2020-06-18 23:03:53 +02:00
def
7aed6476dc
Allow larger map names
2020-06-18 18:29:27 +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
Zwelf
f1b2ff086c
Clean up thread safe SQL refactor
2020-06-17 21:15:07 +02: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
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
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