Commit graph

356 commits

Author SHA1 Message Date
HMH ea5892b1ce don't clear sql-mapstring twice 2016-05-21 22:53:49 +02:00
H-M-H b648b530d5 Merge branch 'master' into sqlmasters 2016-05-20 23:40:29 +02:00
def 3c54f443b2 Make sv_join_vote_delay work for /map votes and make the number of seconds configurable 2016-05-20 20:05:47 +02:00
def ede6a9f93f More uniform /times output (thanks Soreu) 2016-05-20 18:28:33 +02:00
H-M-H 2bcbe52d14 fixed /load message 2016-05-11 15:54:09 +02:00
H-M-H 42fc8a0fe2 fixed use of Str and ClrStr 2016-05-11 15:26:16 +02:00
H-M-H 6a2438e1cf fixed includes 2016-05-11 15:01:53 +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
H-M-H 4bf1a68292 do not write nullbytes to failed_sql.sql 2016-05-05 13:23:35 +02:00
H-M-H 30ca8d8774 made writing to sql-failurefile threadsafe 2016-05-04 23:37:34 +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 a93e845e6d checkbirthday now also sends a broadcast to the 'birthdaychild' 2016-05-03 23:50:42 +02:00
H-M-H 94f163f094 added CSqlPlayerData for simple tasks like getting best time 2016-05-03 23:24:44 +02:00
H-M-H c9e65c7931 Merge branch 'master' into sqlmasters 2016-05-03 23:07:24 +02:00
H-M-H c9b64053d0 cleaned up structure of sql_score.cpp 2016-05-03 20:45:58 +02:00
H-M-H d0cebb576d sql-score can now handle mapchanges/reloads 2016-05-03 20:36:17 +02:00
def 61e47422f6 Clean up debug messages a bit (lower case, no useless errors) 2016-05-02 21:35:32 +02:00
def 750f30b6b9 Don't use hardcoded table name 2016-04-23 16:42:54 +02:00
def fc2bf86174 Birthday check when player joins 2016-03-26 00:20:18 +01:00
def 52fcc6e550 Fix sv_hide_score 2016-03-26 00:19:44 +01:00
def b2105ef3ec Revert "Nicer formatting for SQL stats"
This reverts commit c36b7efe1d.
2016-03-09 23:45:48 +01:00
def 64e4f99102 Revert "Further improvement on ranks formatting"
This reverts commit fad318e86f.
2016-03-09 23:45:43 +01:00
def fad318e86f Further improvement on ranks formatting 2016-03-08 17:53:49 +01:00
def c36b7efe1d Nicer formatting for SQL stats 2016-03-08 17:36:14 +01:00
H-M-H 53a004fa74 reset preferred sql-server to the first specified
on map load
2016-02-20 15:33:35 +01:00
H-M-H 2bd6d0c381 do not always try to connect to unreachable sqlservers
but instead remember the last reachable server
- some cleanup
- added timeout of 10 seconds to sql-connections
2016-02-20 15:33:35 +01:00
H-M-H 783c2161f1 sql_score init is threaded now 2016-02-20 15:33:35 +01:00
H-M-H 8dacd88755 more generic format of saved sql-inserts 2016-02-20 15:33:35 +01:00
H-M-H 88ed7391da handle exceptions from sql properly
- write failed sqlinserts to a file
- improved structure
2016-02-20 15:33:35 +01:00
H-M-H 1314085928 restructured sqlconnection
reading from and writing to several different servers is now possible
TODO:
-handle Exceptions properly (try another sqlserver)
-if everything fails while writing write the insert to a file
2016-02-20 15:33:35 +01:00
H-M-H 2d41ce3527 try next sqlmaster also if the current write fails 2016-02-20 15:33:35 +01:00
H-M-H c4ab59e4c3 fixed use of locks for threading:
each sqlserver has its own lock now
-> it is required that every connect call is followed by a disconnect call
2016-02-20 15:33:35 +01:00
H-M-H 15f2e07c48 moved sqlserver stuff into CServer-class
as sqlconnections should not last only
until next mapreload
2016-02-20 15:33:35 +01:00
H-M-H 6ba10d2719 mastersqlservers are working now
TODO: move the sqlserver objects somewhere else
so they wont be destroyed on every reload
2016-02-20 15:33:35 +01:00
H-M-H 5e4456584f started with sqlmasters
+ added #ifdef for sql_server.cpp
(fixes compilation for release mode)
2016-02-20 15:33:35 +01:00
H-M-H 9ed66f7adc Cleanup of Sqlconnection
-moved all connectionstuff to a new class
-moved sqlstring functions to an own file
-do not give threads access to CSqlScore
2016-02-20 15:33:35 +01:00
def 05fcc58b2f Oops, next SQL server compilation fix 2015-09-23 14:05:54 +02:00
def 97152e5cbf Hopefully fix SQL server compilation with Visual Studio 2015-09-23 11:54:20 +02:00
def 336e916548 Add option not to create sql tables 2015-09-15 09:28:18 +02:00
def ffe9235151 Oops, another one 2015-09-05 17:59:37 +02:00
def 7487923774 Fix Windows thread handle leak 2015-09-05 04:49:22 +02:00
def 0fa06c4a5e Server names may be 4 bytes long 2015-09-05 00:48:11 +02:00
def f62bb1821c /map and /mapinfo improvement (fixes #292) 2015-08-19 22:43:08 +02:00
def 1fd0f947af Better numbers in average time for /mapinfo 2015-08-09 22:20:52 +02:00
def f39b85a3e2 Add average time to /mapinfo 2015-08-06 16:02:00 +02:00
def d57b0d62c6 Support for 0 stars in database 2015-07-23 12:49:22 +02:00
def 949fcb2c40 Remove one useless debug print 2015-07-23 12:11:42 +02:00
def bab961f054 Prepare switch to mixed case server names 2015-07-22 19:56:24 +02:00
def 0cb50c1805 Print actual SQL inserts/updates to debug log 2015-07-22 19:05:45 +02:00
def 4e658c1057 Minor cleanups 2015-07-22 18:23:40 +02:00
def da68023f7a Off by one ;) 2015-07-11 19:28:45 +02:00
def 6d68e22cd1 Hopefully fix string fuzzying for unicode 2015-07-11 19:26:57 +02:00
def 73229fbb62 Only allow /save when team is started already (prevents saving after
noobfilter)
2015-07-09 23:48:29 +02:00
def 6e8ada1ac8 Fix whitespaces a bit 2015-07-09 02:12:35 +02:00
def fbe1bcbf39 Don't capitalize server name in /mapinfo 2015-07-08 15:47:46 +02:00
def 872a94618d Oops, use non-fuzzy map string 2015-07-08 02:14:33 +02:00
def 87227927cd /map and /mapinfo: Prefer exact match, including capitalization 2015-07-08 02:07:49 +02:00
def e20be248f0 Fix previous commit 2015-07-01 16:27:19 +02:00
def e552ef2643 Print number of finished tees in /mapinfo as well 2015-07-01 16:24:27 +02:00
def 3b7fca86c6 Initialize pReleasedString 2015-06-25 22:38:16 +02:00
def dcddb7896d It would help to test before commiting 2015-06-24 21:53:00 +02:00
def 2decad5d75 Fix SQL query of /mapinfo for empty case 2015-06-24 21:46:42 +02:00
def a0ac817966 Fix 2015-06-24 19:18:59 +02:00
def 6b300334f7 Nicer wording 2015-06-24 19:17:49 +02:00
def 7c9d452c61 Fix /mapinfo string 2015-06-24 19:15:03 +02:00
def 9a55f52e61 Fix SQL query 2015-06-24 19:04:34 +02:00
def 6b1c7a5350 Initial support for release dates in /mapinfo 2015-06-24 19:03:03 +02:00
def 230ad1a6f6 Revert "Timestamp index for race table for improved performance of /players/"
Better indices on the relevant server, not necessary everywhere else.

This reverts commit d4d5109c47.
2015-04-19 12:52:27 +02:00
def d4d5109c47 Timestamp index for race table for improved performance of /players/ 2015-04-19 11:55:35 +02:00
def 3992b1346b Hopefully fix compilation on new OS X systems
Names collided with some new OS X defined names, fixes #189
2015-04-07 19:07:38 +02:00
def 96e864e9c3 Fix: Make /map work with # 2015-01-23 21:47:16 +01:00
def 6dc501f286 Fix: Actually should spam protect sql messages 2014-12-25 14:56:31 +01:00
def ec53836d83 Don't lose memory 2014-12-19 17:51:04 +01:00
def 8f72b2fdb6 Fix 2014-12-19 17:47:11 +01:00
def 87afb28a40 Further save cleanup 2014-12-19 17:43:23 +01:00
def da0750d26f Remove buggy and unneeded finish time in /rank and /rankteam 2014-12-19 16:27:10 +01:00
def 75bbf64bbd Allow to set country where you can load savegame 2014-12-19 11:30:14 +01:00
def b0ae9d095f Don't spam protect sql messages 2014-12-18 15:52:24 +01:00
def 2750a23792 Only allow savegames on same server. Clean up saving a bit and prevent another possible exploit 2014-12-17 20:38:05 +01:00
def 0a9b0b11b9 Significantly improve performance of /rank 2014-11-11 11:51:36 +01:00
def ae78518c83 Another fix for mariadb 10 2014-11-11 11:35:43 +01:00
def 37a8e89f73 Fix /points and /top5points with MariaDB 10 2014-11-09 20:22:31 +01:00
def 630e8430aa Fix: Show 0 finishes in /mapinfo 2014-11-09 00:25:53 +01:00
def 0f257bf553 Add delay (of 1 minute by default) to loading savegames 2014-10-26 02:39:12 +02:00
def e29571dd73 save doesn't create ranks accidentally anymore (fixes #73) 2014-10-21 14:27:10 +02:00
def e0a16e0644 /mapinfo: Show mapper name 2014-10-11 12:58:27 +02:00
def 9c0bb7d02b Vote random map with defined nr of stars 2014-10-11 01:01:32 +02:00
def dcc64f1902 Vote random unfinished map with defined nr of stars 2014-10-11 00:41:56 +02:00
def 3dd24c3dee Add stars to /mapinfo 2014-10-11 00:16:33 +02:00
def ce0f1d2ed7 Fix segfaults when mysql server is not reachable and map is changed/reloaded 2014-09-26 23:59:11 +02:00
def f175025c8c Add number of finishes to /mapinfo 2014-09-20 14:07:46 +02:00
def 5825077537 Use new record_points 2014-08-26 17:46:47 +02:00
def d46eb4b03c Preparation for faster /points and /top5points 2014-08-26 14:18:38 +02:00
def dff02ab916 Record server name into sql table record_race 2014-08-26 03:46:24 +02:00
def 75538e32cc make sv_vote_max_total only work for kick and spec votes 2014-08-12 13:41:57 +02:00
def 5cbd71de8f Try to fix /save for solo servers 2014-07-28 15:42:57 +02:00
def a28cc2da76 Fix save/load freeze 2014-07-26 17:16:42 +02:00
def 145f0434f5 Add /save by the glorious HMH 2014-07-26 14:46:31 +02:00
def 809dd8adf0 Hopefully fix mapinfo on some maps 2014-07-19 17:07:26 +02:00
def a7329d0a14 Add random_unfinished_map 2014-06-20 22:40:23 +02:00
def 726cf67348 Add sv_rank_cheats 2014-05-25 10:55:33 +02:00
def 442edc4692 Fix compile 2014-05-19 01:59:35 +02:00
def 4c87cedd4d Better make sure that something exists before using it 2014-05-19 01:57:52 +02:00
def 1129ea28f4 Make sv_vote_delay work 2014-05-04 11:10:42 +02:00
def 94868e29aa Hopefully fix /map bugs 2014-04-30 15:45:08 +02:00
def 014b070586 Fix: Don't crash SQL 2014-04-29 18:43:02 +02:00
def 3f7f3b9719 Fix: Proper vote limits with /map 2014-04-26 18:12:53 +02:00
def b8fce1c0f4 Another 50% speedup for /points and /top5points 2014-03-19 12:02:29 +01:00
def 133583708d Speed up /points and /top5points by 50% 2014-03-19 11:47:02 +01:00
def ab9cd8c06f fix 2014-03-04 03:08:37 +01:00
def 73663f2919 Vote delay for /map 2014-03-04 02:48:58 +01:00
def b8780a3b98 Fix Crash when you start server and MySQL is not reachable 2014-02-25 21:22:16 +01:00
def 3b8645ae98 1 point, many points 2014-02-25 19:55:35 +01:00
def c36922c4f4 Better examples and information for /map 2014-02-19 21:35:56 +01:00
def a5f3de6827 Add /map (for votes) and /mapinfo (instead of /mappoints) 2014-02-19 21:22:36 +01:00
def 3c39b4460b Fix SQL queries 2014-02-14 21:15:40 +01:00
def 8bb7d84366 Fix sql queries 2014-02-14 20:55:02 +01:00
def 2b9427d48d Should use the correct index to improve performance for important queries by a factor of 200 2014-02-13 00:46:01 +01:00
def f4cc6e4efd Huge SQL bug 2014-02-03 20:03:49 +01:00
def 7d69b07160 Code cleanup 2014-02-03 14:34:19 +01:00
def 4fcb4f852f Fix: Another wrong delete 2014-02-03 13:00:35 +01:00
def 20f66fbcae Fix: SQL table for maps should have unique key 2014-02-03 11:20:37 +01:00
def 51fcd75ac6 Fix: Wrong delete 2014-02-03 05:54:40 +01:00
def 1dd666e066 Major SQL Change:
Keep records in a single table records_race
  Keep team records in a single table records_teamrace
  Keep maps with their server and respective points in a table records_maps
2014-02-03 04:31:30 +01:00
def ab2563c2b5 Threaded points load 2014-01-09 12:23:23 +01:00
def 6ef5c5de98 Fix memory leak 2014-01-09 04:02:28 +01:00
def 2dc5573ea7 Create binary names to be case sensitive in SQL queries 2013-11-28 16:00:01 +01:00
def 5460982a45 Merge branch 'DDRace' of github.com:def-/teeworlds into DDRace 2013-11-28 15:15:14 +01:00
def ce8d17744a Add /mappoints 2013-11-28 15:11:59 +01:00
def 24be89224f Proper ranks for /points and /top5points 2013-11-26 23:16:33 +01:00
def d9ace010cb Fix /top5team 2013-11-19 22:36:04 +01:00
def f8beef7e87 Proper rank positions ingame 2013-11-19 22:15:08 +01:00
def 1a8da052f0 Fix SQL teamrace time comparison to be more exact 2013-11-14 19:39:28 +01:00
def 3dda7569e6 Display saved scores 2013-11-14 16:08:04 +01:00
def 582562ed1e Remove useless code 2013-11-09 00:07:57 +01:00
def 35996eaa69 Revert "Speedup server map change by threading SQL initialization"
Causes problems with high ping servers when initializiation wasn't done
and new map is voted.

This reverts commit 13a6f5f2e8.
2013-10-15 07:07:33 +02:00
def 13a6f5f2e8 Speedup server map change by threading SQL initialization 2013-10-14 20:51:50 +02:00
def 46f6cefdd6 Fix sql 2013-09-29 15:29:32 +02:00
def 762dd451d3 fix 2013-08-23 20:46:08 +02:00
def 71946ac0f8 Fix 2013-08-23 15:25:46 +02:00
def c53d167ab8 Fix 2013-08-23 03:02:45 +02:00
def bed7225da6 Fix: Better looking 2013-08-23 03:01:01 +02:00
def 91cbb4745e More compact time representation 2013-08-23 02:56:31 +02:00
def 0a3177ed71 Fix: Team score saving for players with sql escaped characters 2013-08-17 06:10:44 +02:00
def 32109b0f15 Missing buffer 2013-08-12 20:35:46 +02:00
def 72ca64501f New SQL, automatic reconnect 2013-08-12 20:13:12 +02:00
def 33566a626c Try to fix memory leaks 2013-08-08 01:47:49 +02:00
def f32d22b4fd Fix order in team top5 2013-08-06 20:03:14 +02:00
def 53d6fe3db8 use correct first name 2013-08-06 19:28:17 +02:00
def 6d272e91b5 SQL: clear strings first 2013-08-06 19:26:28 +02:00
def 7dc439e13f Fix: Delete points at correct position 2013-08-03 17:28:11 +02:00
def 6169c78a79 Close memory leaks 2013-08-03 17:22:50 +02:00
def cce5e262de Send an information about how many points were earned 2013-08-03 15:26:17 +02:00
def 10a343d96b Fix: Only insert better team times, otherwise update 2013-08-01 00:58:00 +02:00
def cdf2818575 Add reload_points to reload the point map file 2013-07-28 17:53:07 +02:00
def 0fc8e0fdf7 Fix team rank 2013-07-28 16:18:33 +02:00
def d59a0c3135 Fix team rank 2013-07-28 15:32:23 +02:00
def e3db85b629 Remove sql requesting player output 2013-07-27 23:27:12 +02:00
def dc240f7d55 Fix SQL score output 2013-07-25 23:36:00 +02:00
def 66776503c4 Correct name lengths in SQL queries 2013-07-22 14:34:17 +02:00
def a69f8c42f5 Rename error message 2013-07-22 13:07:49 +02:00
def 4a9d932438 Fix /points rank numbers 2013-07-22 00:03:48 +02:00
def 42a8783f00 Add /teamrank and /teamtop5 2013-07-21 08:46:52 +02:00
def 012de29d60 Fix brackets 2013-07-21 05:01:01 +02:00
def c42e9f1399 Add /points and /toppoints using points.cfg file 2013-07-21 04:52:23 +02:00
Shereef Marzouk 0081251628 Fixes not displaying the nick when /rank {nick} is used. (Closes #197) 2013-02-01 13:25:00 +02:00
Shereef Marzouk 38aa2cac78 Player name when requesting another player's. closes #197.
Edited from github directly needs to be tested
2012-11-26 12:54:17 +02:00
Shereef Marzouk 7f7a46b497 Player name when requesting another player's
Edited from github directly needs to be tested
2012-11-26 12:47:41 +02:00
Learath2 ec3c96abd6 Fixes records for maps in subfolder. Closes #46 2012-07-20 14:25:44 +02:00
GreYFoX cdab951296 Increasing the Readability on primitive editors of DDRace Specific files (All files that does not exist in oy/teeworlds) 2011-12-25 15:51:47 +02:00
GreYFoX bfed5bad1a Added License INfo to missing files and updated the old ones 2011-12-25 15:33:05 +02:00
XXLTomate a2cec1b990 fixing sql score by @Laxa 2011-10-12 19:17:48 +02:00
GreYFoX 3ad8284716 Fixed #77. top5 2011-08-31 12:30:18 +02:00
GreYFoX 03bd3823ec Fixed SQL Compilation 2011-08-27 23:32:40 +02:00
GreYFoX 5b27758650 Removed level stuff
Removed client ID stuff
Removed console stuff
Resolved merge conflicts
Upgraded Banmaster
Cleaned up
2011-08-13 02:11:06 +02:00
Romain Labolle c17d3cdeda Reworking teams to allow pausing in team
* Adding wrappers functions to modify character or pause data if player are in game or paused.
* Moved OnFinish() function to teams.cpp so it can also be called on paused players.
* Pause is now enabled for team players.
* Adding bool CPlayer::IsPlaying() function that return true if the player is either in game or in pause. (false if spectator/dead).
2011-06-07 16:48:48 +02:00
heinrich5991 c83c7b1a19 reworked IConsole::PrintResponse to IResult::Print (and obviously CConsole::PrintResponse to CResult::Print) 2011-04-14 00:34:10 +02:00
GreYFoX 16c074741f To have Cheats you must set a password and sv_register 0
http://ddrace.info/forum/showthread.php?t=528
or modify the server and change the game type to something other than DDRace thank you
2011-03-16 15:41:26 +02:00
GreYFoX ca447b7aa4 http://bugs.mysql.com/bug.php?id=50046 2011-03-16 13:59:17 +02:00
GreYFoX 709f0cd0f9 Removed Spam checks from ConRank
Moved CGameContext::ProcessSpamProtection(int ClientID) away from vanilla functions
Made Muted text shown to sender
Corrected a + to *
Added FileScore ShowRank to Spam protection
changed SendChatTarget to SendChat in SQLScore and added it into the Spam protection
2011-02-27 10:07:57 +02:00
Sebastian Wojtowicz 968762b144 Fixed a casting error 2011-02-19 20:10:03 +02:00
Sebastian Wojtowicz 84196b1ef3 some little cleanup
If /times is entered with no params it now shows last 5 times of server in general
2011-02-19 19:53:15 +02:00
GreYFoXGTi 417b18963f windows compiling 2011-02-16 19:56:20 +02:00
Sebastian Wojtowicz 6963a233a4 Added a new command /last5times (for sql scores only)
Added index to name in race sql table, so search is faster
2011-02-15 02:27:20 +02:00
Sebastian Wojtowicz 60de0da1c3 Added timestamp into MySQL ranking, and function to have ago time web2.0 like printed on asking for /rank 2011-02-15 02:27:19 +02:00
SushiTee d7057ef9e1 fixed server compiling in mac (sql is not working though) 2011-01-26 14:45:44 +02:00
GreYFoXGTi cebbecf632 Some Code Improvements and Compiler warnings 2010-12-07 19:44:23 +02:00
noother e990c94dad fixed sql injection & added a proper escaper that works like
addslashes() in php
2010-12-05 08:18:54 +02:00
GreYFoXGTi a838ad9da6 server_release on windows has no sql by default because my sql on the server_release version of windows doesn't work, but it does on server_debug 2010-12-04 16:31:54 +02:00
GreYFoXGTi 9803a74664 so now windows mysql is fucked up and i don't know why 2010-12-04 03:12:30 +02:00
GreYFoXGTi e61d7d1786 Windows mysql connector has a bug even in the latest version with boost no strings over 15 chars 2010-12-04 02:02:50 +02:00
GreYFoXGTi a2896fd660 Commit by Allisone (Trust)
* Fixed CSqlScore::ShowRankThread so /rank works properly
* Fixed CSqlScore::Init so CREATE TABLE ends with  character set utf8
* Added in CSqlScore more verbose SQLException messages
* Removed all statements that would prevent including and loading the CSqlScore class
* Changed bam.lua so on OSX the mysql lib folder gets linked and the include folders get included
* Changed bam.lua so macosx min version 10.5 and sdk 10.6 are required
* Cleaned CSqlScore and replaced new function calls with equal but backward compatible code
2010-11-24 01:50:02 +02:00
GreYFoXGTi b8fe169419 Added Mac Fixes by Allisone (Trust) 2010-11-22 11:09:27 +02:00
GreYFoXGTi 0c6767dd9d Added option to have DDRace Compiled without SQL 2010-11-16 15:44:16 +02:00
GreYFoXGTi 5ee8796381 Removed sql from mac, people who need sql compile the Mac branch
the boost stuff made my working dir very messy and searching through it takes more time
2010-11-16 15:26:19 +02:00
GreYFoXGTi 30680ddd79 MAX_NAME_LENGTH 2010-11-12 19:23:53 +02:00
Allisone 961a0c8cf0 Repaired MySQL Insert and increased player name length for db from 16 to 64 2010-11-12 17:44:37 +01:00
GreYFoXGTi 3756c98715 Total IP Scoring Annihilation ( doesn't make sense ), please test this, also delete the old records 2010-11-04 20:10:51 +02:00