Commit graph

889 commits

Author SHA1 Message Date
Zwelf 23e009b184 Skip over read queries and write into backup database in FailMode 2022-01-09 22:51:55 +01:00
Zwelf 5a8f9a2dd5 Skip read requests during shutdown 2022-01-09 22:51:55 +01:00
def d02253da00 Don't crash when no ids are left (fixes #4565) 2022-01-05 23:30:30 +01:00
def d7aded177b Revert "Fine tune MySQL timeouts to fail faster"
This reverts commit 541667d00a.
2021-12-29 10:37:19 +01:00
def 18e9faebdb Revert "Skip read requests during shutdown"
This reverts commit ac0c935aa1.
2021-12-29 10:23:46 +01:00
def 77b10ff4cd Revert "Skip over read queries and write into backup database in FailMode"
This reverts commit 8c8b4e5bb4.

Causes database not to work on official servers
2021-12-29 10:16:39 +01:00
bors[bot] 768a007eed
Merge #4429 #4517
4429: Pr sql fail fast r=heinrich5991 a=Zwelf

Remaining changes for #4424. Improving sql write times during shutdown and slow mysql responses/timeouts. I still want to test this change, especially for the last commit. Might have time for testing this evening. Thoughts and feedback on this patchset welcome.

## Checklist

- [ ] Tested the change ingame
   - [x] in mysql mod
   - [ ] in sqlite3 mode
- [ ] Provided screenshots if it is a visual change
- [ ] Tested in combination with possibly related configuration options
- [ ] Written a unit test if it works standalone, system.c especially
- [ ] Considered possible null pointers and out of bounds array indexing
- [x] Changed no physics that affect existing maps
- [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--undefinedbehavioursanitizer-or-valgrinds-memcheck) (optional)


4517: Rename EXPLODING BULLET to BULLET r=heinrich5991 a=def-

As suggested by Yuzu

<!-- What is the motivation for the changes of this pull request -->

## Checklist

- [ ] Tested the change ingame
- [ ] Provided screenshots if it is a visual change
- [ ] Tested in combination with possibly related configuration options
- [ ] Written a unit test if it works standalone, system.c especially
- [ ] Considered possible null pointers and out of bounds array indexing
- [ ] Changed no physics that affect existing maps
- [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--undefinedbehavioursanitizer-or-valgrinds-memcheck) (optional)


Co-authored-by: Zwelf <zwelf@strct.cc>
Co-authored-by: def <dennis@felsin9.de>
2021-12-27 23:11:09 +00:00
Zwelf 541667d00a Fine tune MySQL timeouts to fail faster 2021-12-25 10:58:38 +01:00
Zwelf 8c8b4e5bb4 Skip over read queries and write into backup database in FailMode 2021-12-25 10:58:38 +01:00
def 6bb875c660 Don't make score test depend on specific timestamp
Insert current timestamp instead
2021-12-25 01:33:08 +01:00
bors[bot] 4a21f6fb1d
Merge #4513
4513: Display more relevant version numbers on command line (fixes #4511) r=heinrich5991 a=def-

<img width="1838" alt="Screenshot 2021-12-21 at 23 05 20" src="https://user-images.githubusercontent.com/2335377/147003649-64b27082-8e5e-4966-8a15-3af161bbe573.png">
## Checklist

- [x] Tested the change ingame
- [x] Provided screenshots if it is a visual change
- [ ] Tested in combination with possibly related configuration options
- [ ] Written a unit test if it works standalone, system.c especially
- [ ] Considered possible null pointers and out of bounds array indexing
- [ ] Changed no physics that affect existing maps
- [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--undefinedbehavioursanitizer-or-valgrinds-memcheck) (optional)


Co-authored-by: def <dennis@felsin9.de>
2021-12-21 22:11:22 +00:00
def 51c096777e Display more relevant version numbers on command line (fixes #4511) 2021-12-21 23:05:44 +01:00
Robert Müller 92f53c7a37 reload map when changing sv_sixup 2021-12-21 17:37:04 +01:00
bors[bot] ec0d1172eb
Merge #4481
4481: Don't create cut off UTF-8 sequences on string manipulation r=def- a=heinrich5991

CC #4463
CC #4465 

## Checklist

- [ ] Tested the change ingame
- [ ] Provided screenshots if it is a visual change
- [ ] Tested in combination with possibly related configuration options
- [x] Written a unit test if it works standalone, system.c especially
- [ ] Considered possible null pointers and out of bounds array indexing
- [ ] Changed no physics that affect existing maps
- [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--undefinedbehavioursanitizer-or-valgrinds-memcheck) (optional)


Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2021-12-20 08:58:55 +00:00
heinrich5991 58533cddef Fix string functions not to truncate in the middle of a UTF-8 character
This makes `str_utf8_copy` obsolete.
2021-12-20 02:34:02 +01:00
def 3f03d8ee31 Get rid of useless semicolon in SQL queries 2021-12-20 00:50:59 +01:00
def 6feb1a0eee Create connections as unique_ptrs directly
no more leak in test/score.cpp
2021-12-19 23:04:12 +01:00
def f5d59e8719 Rename CONF_SQL to CONF_MYSQL 2021-12-19 19:40:20 +01:00
def 3a2850b7f7 Add comment for true/false 2021-12-19 19:40:20 +01:00
def aacab812d4 Use at least SQLite version 3.25
Required for Window functions, see https://www.sqlite.org/windowfunctions.html
2021-12-19 19:40:20 +01:00
def 9dc08ca156 True/False don't exist on older SQLite versions 2021-12-19 19:40:20 +01:00
Dennis Felsing f03cb08150
Merge pull request #3961 from fokkonaut/pr-antibot
Add target clientid to antibot OnHammerHit
2021-12-19 19:33:56 +01:00
def ea7e39c2f0 Alternative fix for cut off names (fixes #4463)
https://github.com/ddnet/ddnet/pull/4465 might have more side effects
2021-12-18 10:34:20 +01:00
heinrich5991 cdbf8ff2d2 Skip the UTF-8 BOM on all read text files
Fixes #4462.
2021-12-17 22:07:01 +01:00
bors[bot] 1d88aef9fe
Merge #4456
4456: Pull some more refactoring from the upstream r=def- a=Kaffeine

The main motivation is making it easier to take (and push) patches to/from `teeworlds`

## Checklist

- [x] Tested the change ingame
- [ ] Provided screenshots if it is a visual change
- [ ] Tested in combination with possibly related configuration options
- [ ] Written a unit test if it works standalone, system.c especially
- [ ] Considered possible null pointers and out of bounds array indexing
- [ ] Changed no physics that affect existing maps
- [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--undefinedbehavioursanitizer-or-valgrinds-memcheck) (optional)

I'm not that familiar with the code. Please let me know if this commit make sense or not:
56900d7644

IIUC two other commits from https://github.com/teeworlds/teeworlds/pull/2594 are not relevant for DDNet (because we're reducing the CPU load differently).

Co-authored-by: Alexander Akulich <akulichalexander@gmail.com>
Co-authored-by: Robert Müller <robert.mueller@student.uni-siegen.de>
2021-12-15 07:51:42 +00:00
Robert Müller 843d021f82 add IServer::ChangeMap to fix change_map command
(cherry picked from commit 97d907304c56f643a9ed99e60c35052f950b27fb)
2021-12-15 03:36:25 +03:00
Robert Müller 019f8b665f set m_MapReload instead of polling sv_map, use bool, remove dead code
(cherry picked from commit dc56ab6d93e60f1a4bf26196a76b9e12df65529c)
2021-12-15 03:36:25 +03:00
Alexander Akulich d46e4a14c1 CServer: Port to Config() upstream API 2021-12-15 03:36:25 +03:00
Alexander Akulich 4d346456c5 CServer: Add a const CConfig getter for const Server instance 2021-12-15 03:36:25 +03:00
Alexander Akulich 0b24888f61 CServer: Init m_pConfig variable with the global instance for now
The case is lie. The variable was not initialized.
2021-12-15 03:36:25 +03:00
Alexander Akulich 145816b046 IServer: Change GetMapName() type to const char *
Partially follow upstream 77daedc814
2021-12-15 03:04:03 +03:00
heinrich5991 3185c75bda Don't clear client version on map change
Also still record client version on map changes into teehistorian.

Fixes #4445.

Thanks to @Kaffeine for noticing.
2021-12-14 06:50:30 +01:00
heinrich5991 4fab7d7500 Remove unused variable m_SupportsMapSha256 2021-12-14 06:49:40 +01:00
Alexander Akulich d832800ebc Server: Implement a 'reason' argument for Console Shutdown
(cherry picked from the upstream commit teeworlds / 6899778b348cce800665e3e320f88a6688168a14)
2021-12-08 20:43:59 +03:00
Zwelf 3db7fca215 Don't shutdown server when there are outstanding sql queries to be executed 2021-12-08 10:09:39 +01:00
Zwelf ac0c935aa1 Skip read requests during shutdown 2021-12-07 13:50:57 +01:00
Robert Müller f20443b694 fix command line arguments with unicode on windows
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2021-12-06 19:48:25 +01:00
bors[bot] 6df701a34a
Merge #4366
4366: Add sql BindInt64 r=def- a=ChillerDragon

Comes in handy for my downstream

Follow up to https://github.com/ddnet/ddnet/pull/4334

Tested with sqlite3

## Checklist

- [x] Tested the change ingame
- [ ] Provided screenshots if it is a visual change
- [ ] Tested in combination with possibly related configuration options
- [ ] Written a unit test if it works standalone, system.c especially
- [ ] Considered possible null pointers and out of bounds array indexing
- [ ] Changed no physics that affect existing maps
- [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--undefinedbehavioursanitizer-or-valgrinds-memcheck) (optional)


Co-authored-by: ChillerDragon <ChillerDragon@gmail.com>
2021-11-19 12:40:05 +00:00
ChillerDragon 097f718190 Add sql BindInt64 2021-11-19 12:29:24 +01:00
fokkonaut b3c8eb7d2b Add forgotten allowdummy flag 2021-11-17 21:00:37 +01:00
ChillerDragon 9f89a1296a Add GetInt64 2021-11-07 16:55:32 +01:00
murpi c5b1d15452 Update server.cpp 2021-10-20 20:26:44 +02:00
Robert Müller fbda0468c6 fix exception in GetAnnouncementLine with empty list 2021-10-17 22:53:56 +02:00
Edgar 8810531065
remove missused volatile 2021-10-15 12:15:39 +02:00
bors[bot] 121c6d16f6
Merge #3879 #4079
3879: Use SDL_FlashWindow to request user's attention r=heinrich5991 a=Jupeyy

We should soon update to SDL 2.0.16 for our bundled libs, but don't merge before this happened.

This drops the remaining X11 dependency.

We should then also use GLEW with EGL for official builds for easy native wayland support(which i discussed before already)

## Checklist

- [x] Tested the change ingame
- [ ] Provided screenshots if it is a visual change
- [ ] Tested in combination with possibly related configuration options
- [ ] Written a unit test if it works standalone, system.c especially
- [ ] Considered possible null pointers and out of bounds array indexing
- [ ] Changed no physics that affect existing maps
- [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--undefinedbehavioursanitizer-or-valgrinds-memcheck) (optional)


4079: Make teehistorian easier to reproduce r=heinrich5991 a=Zwelf

I've tested it ingame, but still have to make sure, that the ordering of the teehistorian messages are right. I would be really happy if we could land this before changing team joining logic (#4006 or /practice logic, but there isn't a pr for this yet), but I would like to make sure that the change is correct.

## Checklist

- [x] Tested the change ingame
- [ ] Tested in combination with possibly related configuration options
- [x] Written a unit test if it works standalone, system.c especially
- [x] Considered possible null pointers and out of bounds array indexing
- [x] Changed no physics that affect existing maps
- [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--undefinedbehavioursanitizer-or-valgrinds-memcheck) (optional)


Co-authored-by: Jupeyy <jupjopjap@gmail.com>
Co-authored-by: Zwelf <zwelf@strct.cc>
2021-10-06 14:52:39 +00:00
Zwelf eacd314701 Move team and practice mode recording to the beginning of the tick 2021-09-14 22:33:09 +02:00
Alexander Akulich 895a0b3451 CServer::ProcessClientPacket(): Adjust the debug message buffer size
We allocated 512 bytes to dump up to 32 data bytes in a hex form.
According to the str_hex() implementation, we need three bytes per the
source data byte (a byte is represented as a two-digit hexadecimal number
with appended space char) plus the null-termination.

We actually could re-use the last space char for the null, but it is not
implemented in str_hex(). Keep this logic as-is.

The stack-allocated buffer size reduced from 512 to 97 bytes.
2021-09-14 20:59:29 +03:00
Alexander Akulich 92abe8d545 Use str_hex() for CServer::ProcessClientPacket() debug output 2021-09-14 20:49:53 +03:00
ChillerDragon 3eb3dcd48b Make use of IO_MAX_PATH_LENGTH
Inspired by
0a7d0fee7c
2021-09-13 12:14:50 +02:00
fokkonaut 845ce60031
Forgot it here too 2021-07-22 02:15:28 +02:00