Commit graph

384 commits

Author SHA1 Message Date
woogerboy21
a9acb3f1cc Total Max User Restriction
Syntax correction.
2015-07-13 17:54:03 -04:00
woogerboy21
217d8fa165 Multi Server Session Functionality
Fix #1130
Adds the server id in the SQL query for userSessionExists function.
2015-07-11 23:18:37 -04:00
Matt Lowe
894d6c8d2d Refactored tabs to spaces
Removed tabs in favour of 4 spaces.
2015-07-07 21:01:19 +02:00
Fabio Bas
14bce93c7a make gcc an happy puppy 2015-07-06 09:14:29 +02:00
Fabio Bas
68f1358f54 rebased on master 2015-07-05 22:48:09 +02:00
Fabio Bas
7f5f290c93 Profile management 2015-07-05 22:44:35 +02:00
Fabio Bas
26f317ee75 Profile management 2015-07-05 16:39:55 +02:00
Zach
31890450dc Merge pull request #1205 from ZeldaZach/fix_1173
Server Name Rules Information
2015-07-04 19:37:50 -04:00
Fabio Bas
f5be6f836e Improved logging of SIGHUP and cmdReloadConfig 2015-07-03 09:09:41 +02:00
Fabio Bas
af9140d8c4 make gcc an happy puppy 2015-07-01 20:13:38 +02:00
Fabio Bas
8cac72158a MSVC fixes 2015-06-30 22:33:29 +02:00
Fabio Bas
6cf3db7e6b Servatrice: refactor signal handling and permit config reloading 2015-06-30 22:21:26 +02:00
Fabio Bas
02dcaff356 Publish username rules in login failure, too 2015-06-30 18:44:40 +02:00
Fabio Bas
4c27304047 publish username rules in registration failure 2015-06-29 23:35:27 +02:00
Matt Lowe
23b163341e Escaped additional punctuation 2015-06-24 13:08:38 +02:00
Matt Lowe
d76073cdd1 Added default values 2015-06-22 22:02:36 +02:00
Matt Lowe
a795d7d884 Moved username formatting to INI file
Rather than having the username limitations hard coded, I have moved it
into the ini file. I have added some examples to the code and also to
the ini.

This is only and example and can be expanded on by others.
2015-06-20 23:14:45 +02:00
Fabio Bas
25a202b6fc Typo 2015-06-03 08:38:50 +02:00
Fabio Bas
135205d368 Implement migrations; fix #153 2015-05-31 17:36:15 +02:00
Fabio Bas
657a5164e9 Fix servatrice compilation with msvc 2015-05-25 17:07:47 +02:00
Fabio Bas
13b8fd4516 gcc -Werror=unused-parameter 2015-05-24 23:15:23 +02:00
Fabio Bas
471f6371b5 More work
* Refactored code out of common/ into servatrice/
 * added smtp client library
 * disable registration when connected
 * validate email address
 * send activation token via email
2015-05-24 23:02:51 +02:00
Fabio Bas
8cf4461616 fix qt4 compilation 2015-05-24 01:00:55 +02:00
Fabio Bas
ff1aed717e Added token generation, user activation command and response. 2015-05-24 00:37:45 +02:00
Fabio Bas
d7b6f76191 missing file from previous commit 2015-05-23 20:13:21 +02:00
Fabio Bas
5ace0dd892 Almost completed registration
* added missing bits of serverside code;
 * added fronted in client;
 * removed demo python scripts;
2015-05-23 20:13:03 +02:00
Gavin Bises
735fcbf311 Add first draft of protocol extension for registration
Stub for registration command handling in server

First draft of handling registration requests

WIP (will be rebased)

clean up bad imports (rebase this later)

Finish checkUserIsBanned method

Add username validity check

Check servatrice registration settings

WIP

Finish(?) server side of registration

Needs testing

Fix switch case compile failure

I have no idea why I have to do this

WIP for registration testing python script

Stub register script initial attempt

Rearrange register script

First try at sending reg

register.py sends commands correctly now

Add more debug to register.py

Pack bytes the right way - servatrice can parse py script sends now

register.py should be working now

Parse xml hack correctly

Log registration enabled settings on server start

Insert gender correctly on register

Show tcpserver error message on failed gameserver listen

Fail startup if db configured and can't be opened.

TIL qt5 comes without mysql by default in homebrew...
2015-05-22 18:55:51 +02:00
Fabio Bas
590894d283 Fix macro for MSVC; fix #1063 2015-05-11 09:00:25 +02:00
Fabio Bas
c605948975 Catch std exceptions thrown by protobuf and try to pretty print them 2015-05-02 21:17:55 +02:00
Matt Lowe
66f854fe1d Changed to check every 10 mins 2015-04-23 00:26:21 +02:00
Matt Lowe
e646122f55 Updated server shutdown timer logic
Will follow the following rules

+ send a message initially
+ send a message every 20 mins
+ send a message every min when time <= 5

Updated client popup

Updated client to close any previous popups and bring up a new one.

NEEDS TO BE TESTED

added missing include

Added delete on close
2015-04-22 19:14:14 +02:00
Fabio Bas
55c174a823 Remove warning in server_logger; fix #993 2015-04-21 08:38:31 +02:00
Fabio Bas
70296dde9a Simple stack trace for singla handler (unix only) 2015-04-19 19:39:05 +02:00
Matt Lowe
1f9b1d78bc Double escaped "." 2015-04-17 17:47:58 +02:00
Matt Lowe
bba9539229 Updated regex 2015-04-17 00:17:03 +02:00
Matt Lowe
d5a1264bcb Updated server to support "."
Now uses regex.
Added "."
Updated login message
2015-04-16 23:50:05 +02:00
poixen
f79d0666e3 Merge pull request #964 from poixen/unreg_usernames
Updated server side user name check
2015-04-13 22:39:45 +02:00
Matt Lowe
0979f8fa34 Updated return value 2015-04-13 22:09:47 +02:00
poixen
72222c0b39 Merge pull request #963 from poixen/unreg_usernames
Added "-" to allowed names
2015-04-13 21:14:43 +02:00
Matt Lowe
53352c5f71 Added "-" to allowed names 2015-04-13 20:51:34 +02:00
Zach
5117c0e6c9 Merge pull request #956 from poixen/unreg_usernames
Restricted unreg usernames
2015-04-12 19:02:31 -04:00
poixen
a2f416bb51 Merge pull request #959 from poixen/server_command_limit
Server was using message limit for commands
2015-04-13 00:32:25 +02:00
Matt Lowe
f46d68b5c6 Server was using message limit for commands
Server was using getMaxMessageCountPerInterval over
getMaxCommandCountPerInterval.

Raised command limit from 10 to 20
2015-04-12 22:55:38 +02:00
Matt Lowe
70ef95931e Restricted unreg usernames
Can now only be made up of [a-z][A-Z][0-9][-_]
2015-04-12 21:29:40 +02:00
Matt Lowe
8e61fb0bae Updated message limit from 10 -> 15
I have updated the `maxMessageCountPerInterval` from 10 to 15. This will
allow some faster play from exp users.

NOTE:
If you have an existing server and update to this version, you will need
to manually change the value in the ini file, or have no ini file to
begin with. Otherwise the old ini will load in 10.
2015-04-12 19:01:16 +02:00
pepi
05424a4c0e Removed NULL conversion warnings caused by #926 2015-04-08 10:36:33 +00:00
pepi
e136c11b65 Removed compile time ssize_t warnings 2015-04-08 09:39:32 +00:00
Fabio Bas
a4cf7a71e3 fix server deck storage; fix #744 2015-03-27 15:47:38 +01:00
Fabio Bas
0e437cf13b Anti flood for game commands 2015-03-14 19:44:32 +01:00
Gavin Bisesi
62e0bc9bb1 Merge pull request #707 from ctrlaltca/servatrice_locking
Improvement to servatrice database interface
2015-02-18 13:16:48 -05:00
Fabio Bas
ca9fffcf7e Fix "QMYSQLResult::data: column 7 out of range" error 2015-02-12 22:39:06 +01:00
Fabio Bas
3f38e780f4 Fix #674 2015-02-04 12:48:08 +01:00
Fabio Bas
1ffb5bf76d removed hardcoded table name prefix from query 2015-01-29 13:54:15 +01:00
Fabio Bas
0f58e8bcde Servatrice: reuse prepared statements 2015-01-29 13:47:55 +01:00
Fabio Bas
3c65fba539 Avoid double locking of sessions, users table
QSqlQuery already executes not-empty queries, no need to call exec()
2015-01-29 09:54:48 +01:00
Gavin Bisesi
69e6aa355f Merge pull request #534 from poixen/accountage
Added account age to user info window
2015-01-11 21:37:07 -05:00
Matt Lowe
02043ad4f9 Added Account Age
+ Added the ability to see the account age of registered users. Changes
are both in server and client. The server will now send back the
registration date along with the user data. The client will then use
this to calculate the account age and display it in the user details
window.
2015-01-11 00:45:12 +01:00
Fabio Bas
51735613e5 force NULL as unregistered users's id 2015-01-01 16:42:20 +01:00
Fabio Bas
cd69bc8f9d Add configuration options to enable database logging 2015-01-01 15:48:53 +01:00
Fabio Bas
2896f05823 Merge remote-tracking branch 'upstream/master' into message_log
Conflicts:
	servatrice/CMakeLists.txt
2015-01-01 15:02:17 +01:00
Michael Callahan
3a0c86938c Clean up a small pile of compiler warnings. 2014-12-30 15:54:38 -07:00
Fabio Bas
02978ce404 Implement the logging method 2014-12-13 18:43:31 +01:00
woogerboy21
ff8e25bb7e removed qdebug line for >= maxuser (no need to fill log) 2014-11-18 18:31:06 -05:00
woogerboy21
37e08cfbb6 added logic to only write debug if max user value is reached 2014-11-18 17:27:57 -05:00
woogerboy21
197ae9213c corrected invalid variable call & added log file debug information 2014-11-18 17:20:45 -05:00
woogerboy21
26f5110fea convert file tab to 4 space indent 2014-11-18 16:59:08 -05:00
woogerboy21
3c513b4bfc moved code logic to callling function & indent fix 2014-11-18 16:55:19 -05:00
woogerboy21
44a302a2d6 added trusted sources to servatrice 2014-11-18 15:39:11 -05:00
wcollins
da98d24d8c added trusted sources to servatrice 2014-11-18 15:09:21 -05:00
woogerboy21
84a5117b4c Default logging to enable with no config file
If no configuration file is found, default the logger to logging enabled.
2014-11-11 14:15:02 -05:00
Fabio Bas
22af789c9e Servatrice: log to console authentication method on startup 2014-10-07 17:04:22 +02:00
Fabio Bas
15555c16fd Fix servatrice's regonly mode 2014-10-06 22:56:09 +02:00
Fabio Bas
01bd26d228 Misc typos fixing 2014-10-06 21:44:20 +02:00
Fabio Bas
0d9eec4b64 Servatrice: added authentication type "password" 2014-10-04 17:50:01 +02:00
Fabio Bas
0261862b1b Fix configuration loading 2014-10-04 10:33:55 +02:00
Fabio Bas
871f5f7c94 use qWarning instead of std::err 2014-10-02 23:45:42 +02:00
Fabio Bas
8d8ccaad7f use 4 spaces instead of tabs 2014-10-02 23:42:51 +02:00
Fabio Bas
37eaeaae13 servatrice: as a third choice, check for a config in /etc/servatrice/ 2014-10-02 23:41:24 +02:00
Fabio Bas
b348068369 Servatrice: Add a default option for every config value
add an empty room swell, if none had been defined in the config (or we
are running with no config at all)
2014-10-02 23:11:49 +02:00
Fabio Bas
4b38187d20 Fix logfile option in servatrice.ini
servatrice was using hardcocded filename “server.log” even if a custom
value was specified
2014-10-02 23:00:17 +02:00
Fabio Bas
a1b6600fe1 Servatrice: group all the use of QSettings in a single file
and add a method to guess the path of servatrice.ini
2014-10-02 22:37:50 +02:00
Fabio Bas
355de8fba4 Drop libgcrypt dependency for qt5 2014-10-01 20:21:22 +02:00
Gavin Bisesi
5c46cfc169 Merge pull request #179 from woogerboy21/registered-user-only-server
Registered Only Server
2014-08-11 09:03:57 -04:00
Fabio Bas
6e3c7d33da Make protobuf cleanup its resourced when servatrice ends
Should help make valgrind’s log a bit cleaner
2014-08-08 13:43:50 +02:00
Fabio Bas
0a5106b8ef Don't leak a QSettings object at every logged message 2014-08-08 09:57:07 +02:00
Fabio Bas
13bd35e020 Servatrice: add prototypes for local functions 2014-07-24 18:16:08 +02:00
Fabio Bas
036980eb44 ISO C++ forbids variable length array 2014-07-24 17:37:54 +02:00
woogerboy21
021f0911c4 Merge remote-tracking branch 'upstream/master' into registered-user-only-server
Conflicts:
	common/server.cpp
	common/server_protocolhandler.cpp
	servatrice/src/servatrice.cpp
2014-07-18 23:46:56 -04:00
Fabio Bas
d894c53265 Servatrice: fix handling of incoming connections on qt5 2014-07-08 22:05:06 +02:00
woogerboy21
0a1fe7f5a8 Requested Cleanup
Corrected tab to 4 space (per request)
Moved regonly option under authentication ini location (per request)
2014-07-02 22:27:05 -04:00
woogerboy21
d246fa39fe Registered Only Server
Implemented the ability to set the server to only allow registered
users.  Also updated client to reflect the log-in rejection as well as
put a check in place for the server to not start if db connection is not
available yet registration is required.
2014-07-02 20:52:22 -04:00
Daenyth
09d6d26fb2 Merge branch 'master' into cmake_qt5
Conflicts:
	cockatrice/src/main.cpp
2014-06-28 09:13:10 -04:00
woogerboy21
f685bd2abe formatting
4 space indent + code flow rewrite for easier readability.
2014-06-27 18:18:03 -04:00
woogerboy21
b83fe95b05 removed extra un-needed empty line.
removed extra un-needed empty line.
2014-06-26 14:46:22 -04:00
woogerboy21
365de1fdd0 added multiple filter capabilities
changed the single qstring log filtering to qstringlist to allow multiple filtering capabilities
2014-06-26 14:38:57 -04:00
woogerboy21
91a96643f0 updated filtering code
rewrote filtering code to allow for user input
code only filters on single string at the moment (still needs updated).
2014-06-26 00:38:43 -04:00
Fabio Bas
bab340f7b7 Reworked a bit message handling from previous commit 2014-06-24 18:52:04 +02:00
Fabio Bas
2953c6ba2a Ported servatrice 2014-06-24 18:42:46 +02:00
woogerboy21
ec00bdebed verbose incrementation
removed un-used variables
changed switch case to increase verbose level as loglevel increases
captured unset loglevel to default to highest verbose log level
2014-06-23 09:18:49 -04:00
woogerboy21
46ceeadbbd updated code structure
cleaned code structure up for clarity
2014-06-23 03:41:46 -04:00