Commit graph

612 commits

Author SHA1 Message Date
Fabio Bas
d61d9c98a0 Avoid locking on local server shutdown 2016-07-20 16:53:57 +02:00
Fabio Bas
36e62df67d Remove additional minute 2016-07-19 11:57:11 +02:00
Zach H
d82564d84c Shutdown timer changes (#2084)
* change msg popup time from 10min to 30min

* countdown at half time

* simplify math

* move shutdown after checks
2016-07-15 14:02:40 -04:00
skwerlman
deb8a2c954 fix typo in sample servatrice ini 2016-07-14 03:01:11 -04:00
Fabio Bas
430f1baf2f make gcc an happy puppy 2016-07-09 10:18:12 +02:00
Fabio Bas
5b21dc8cde Implementation of websockets in servatrice and test js client 2016-06-26 19:38:53 +02:00
Gavin Bisesi
089acfd84a Use QCommandLineParser instead of by-hand parsing.
This will be more flexible for future CLI options
2016-05-16 22:07:29 +02:00
Fabio Bas
bb5292aa8d Drop Qt4, libgcrypt, qtmobility dependencies 2016-05-11 12:45:58 +02:00
ctrlaltca
55f3e9314b Merge pull request #1859 from ctrlaltca/carddb
Rework some parts of the card database
2016-03-30 22:55:36 +02:00
Fabio Bas
a55b3784eb cmake: Enable c++11 for all targets 2016-03-21 11:42:38 +01:00
ctrlaltca
41494b49dd Merge pull request #1873 from ctrlaltca/serva_emailz
Servatrice: Split requireemail into requireemail and requireemailaction
2016-03-18 18:59:17 +01:00
Fabio Bas
68e2fb912f Servatrice: Split requireemail into requireemail and requireemailactivation 2016-03-17 16:22:42 +01:00
Fabio Bas
62cb89d224 Fix mysql plugin deploy on windows 2016-03-08 12:54:04 +01:00
woogerboy21
3ba3f1e2a7 Added MySQL 5.7 lib path to servatrice CMAKE
Added default search path for most recent version of MySQL
2016-02-27 15:13:59 -05:00
Fabio Bas
ac06544849 Added 64bit libraries each path for libmysqlclient 2016-02-23 08:56:47 +01:00
ctrlaltca
66634c9b3d Merge pull request #1808 from ctrlaltca/innodb
Move schema to Innodb and add FKs
2016-02-22 16:39:03 +01:00
woogerboy21
4e78d6ec95 Merge remote-tracking branch 'refs/remotes/origin/master' into mod_notify_onbanwarn 2016-02-21 16:36:20 -05:00
Fabio Bas
aac2d09f48 Move schema to Innodb and add FKs
Fix #1805
2016-02-17 21:24:28 +01:00
woogerboy21
8f819dfa66 Update replay maintenance script
Update the replay maintenance script to allow for rolling replay maintenance along with cleanup of the two associated db tables (replay access and games).  This updated script will now allow players to see the past X days (8 by default) of replays rather than loosing all replays from the point in the the script gets run.
2016-02-10 10:53:18 -05:00
woogerboy21
3ed3919349 Merge branch 'master' into mod_notify_onbanwarn 2015-12-30 12:58:29 -05:00
Fabio Bas
49b22b7d2f Try to fix package creation 2015-12-27 16:03:32 +01:00
Fabio Bas
53191fcb99 Whoops: Fix db schema number 2015-12-13 11:53:30 +01:00
ctrlaltca
ce6c97bcef Merge pull request #1670 from jedinerd/sql_fix_for_token_disabled_option
Having token set to not null breaks the use of requireemail=false
2015-12-13 11:46:23 +01:00
Gavin Bisesi
3aac8930cc Add script to validate schema changes.
Basic assertions about version updates
2015-12-13 10:47:39 +01:00
Fabio Bas
beecc0f970 Improved login error message 2015-12-11 18:42:29 +01:00
Michael Hogg
d9c0c97ae7 Updating schema version to 12 and adding migration script. 2015-11-08 03:05:12 -08:00
Michael Hogg
9963e9dfe7 Having token set to not null breaks the use of requireemail=false in the servatrice.ini as token will be null in this use case. 2015-11-07 12:57:58 -08:00
Fabio Bas
74c58cc2b0 fix qt libraries bundling on osx
fix #1547
2015-10-01 23:35:54 +02:00
woogerboy21
acbe2b0b3c Re-Implemented the moderator notification upon user warning/ban 2015-09-28 18:21:39 -04:00
woogerboy21
7d7151135e Removed mod notification code that causes crashes 2015-09-26 23:19:49 -04:00
woogerboy21
7a4cabaf67 Corrected mod_name column syntax in warnings table
It was missing a comma at the end of the line.
2015-09-25 18:19:44 -04:00
woogerboy21
b65882f7ce Updated cockatrice_warnings table to use id column as primary key 2015-09-25 07:35:23 -04:00
woogerboy21
62ffcde6bd Added logs tab to allow moderators the ability to review log history/details 2015-09-23 00:50:01 -04:00
woogerboy21
6ad2a59367 Added official warning messages moderators can use to inform users 2015-09-22 22:27:46 -04:00
Zach H
ccc8ac4826 minor fixes 2015-09-18 09:56:32 -04:00
woogerboy21
b0693299c7 Added server private message functionality to allow server based PM notifications.
Ban based notification to other online moderators is the first form implemented by this PR.
2015-09-17 22:40:29 -04:00
woogerboy21
87a64da1bc Added chat history to a room that is displayed on join.
With this update a new chat history definition is added on a per
room bases which allows operators to specify the number of chat
messages to store and present to the user on join.  Please see
the sample ini for room definitions.
2015-09-14 17:54:04 -04:00
woogerboy21
46f78fcead Fix server crash on banning 2015-09-13 00:52:52 -04:00
woogerboy21
90cb890cc2 Added the ability or moderation staff to request user ban history 2015-09-10 16:02:45 -04:00
woogerboy21
d7d50def51 Added user analytics table to database 2015-09-08 14:56:10 -04:00
Gavin Bisesi
ebc4011559 Restore register.py script removed in 5ace0dd892
This is intended to be an example of using the protocol from something
other than C++ and to be a building block for future test clients.
2015-09-03 09:13:31 -04:00
woogerboy21
044c2356ff Added server/client feature set communication 2015-09-02 17:54:06 -04:00
marco
baa61d0571 Merge branch 'master' into Refactor-settings
Conflicts:
	oracle/CMakeLists.txt
2015-09-01 21:28:53 +02:00
woogerboy21
d8b53f9345 Update ban check to exclude empty client id's 2015-08-30 18:48:57 -04:00
marco
0b94b47f72 Servatrice portable + cmake options
Use -DPORTABLE=1 to build a portable version
2015-08-25 21:25:13 +02:00
Zach
e9156ecd62 Merge pull request #1391 from woogerboy21/admin_adjustmods
Allows admins to promote users to mod and demote mod to user
2015-08-22 00:03:46 -04:00
Gavin Bisesi
66f14c1168 Address PR feedback 2015-08-21 23:03:15 -04:00
Zach
a6a62b3334 Merge pull request #1354 from Cockatrice/fix-1351
Fix #1351 - Server ignores only-reg if in "none" auth mode.
2015-08-21 22:15:32 -04:00
Daenyth
6170c9037f Fix #1351 - Server ignores only-reg if in "none" auth mode.
When in none auth mode, registered users don't exist; hence the setting
makes the game impossible to join.

Normally the setting would be greyed out when the user is unregistered,
but commit 475c54bf introduced a new edge case where the stored setting
would apply to the field even if the user is unregistered, making the
setting possible to apply in no-reg mode. Regardless, any client could
have done this, not just the default cockatrice.

The server side fix should prevent all issues in the future.
2015-08-21 20:30:46 -04:00
woogerboy21
39fcabe921 Allows moderators to promote users to mod and demote mod to user 2015-08-20 22:42:10 -04:00
woogerboy21
65635bcdd8 Corrected miss-matched schema versions
Schema version should be 7 (not 6) for current commit level.  Not sure exactly why it wasn't updated.
2015-08-18 07:40:12 -04:00
woogerboy21
3e94c9d283 Define permission levels for rooms 2015-08-15 21:00:51 -04:00
woogerboy21
bb0b626cee Add last_login column to user table and populate upon login 2015-08-15 03:00:34 -04:00
woogerboy21
b102a05a36 Add ability to ban by client id 2015-08-14 00:06:37 -04:00
woogerboy21
8bf58af727 Merge pull request #1365 from woogerboy21/add_clientid_tosessions
Add clientid field to sessions table.
2015-08-12 08:07:01 -04:00
Zach
1c3e13109f Merge pull request #1361 from woogerboy21/servatrice_disable_replaystorage
Add option to servatrice to disable replay storage.
2015-08-11 16:32:37 -04:00
woogerboy21
7c81f8a610 Added lower case country code on correction. 2015-08-11 15:46:59 -04:00
woogerboy21
f636c0ee19 Add script to validate/clear invalid country codes in the DB. 2015-08-11 14:20:40 -04:00
woogerboy21
d52cf379ee Updated servatrice.sql to reflect new sessions table field. 2015-08-11 12:53:56 -04:00
woogerboy21
eb5833609a Add clientid field to sessions table. 2015-08-11 12:45:04 -04:00
woogerboy21
fefceac2c6 Add option to servatrice to disable replay storage. 2015-08-10 15:29:30 -04:00
woogerboy21
f4942d1ea7 Merge pull request #1346 from woogerboy21/regonly_server_refactor
Reg only server cleanup
2015-08-09 13:57:17 -04:00
Fabio Bas
76ba3b557d Fix compilation of servatrice with mdvc
Should fix #1336
2015-08-09 18:17:10 +02:00
woogerboy21
b4e0c00cca Add database migration script for client id 2015-08-09 08:47:21 -04:00
woogerboy21
17392f1ae5 Moved the RegOnlyRequirement functions out of the Database interface into the proper Server block of code. 2015-08-08 16:24:37 -04:00
woogerboy21
af237c7d07 Fixed space/tabing issues. 2015-08-08 08:52:19 -04:00
woogerboy21
bc99024e4f Added server side setting to allow the requirement of a client id from clients. 2015-08-08 08:52:19 -04:00
woogerboy21
52db13a1ca Initial release of client ID generation. 2015-08-05 10:15:49 -04:00
woogerboy21
eb9ca58fd0 Updated pingClockTimeout to account for adjustments in client keep alive settings value.
Changed the default value for the client keep alive variable back to 1 (since that is what the setting is if the value is not found in the configuration ini file).
2015-07-30 16:38:02 -04:00
woogerboy21
8c7301b19f Updated server and client ping to 5 seconds. Also changed hard set 1 second value on the ping timers to read values from the settings cache. 2015-07-29 23:44:00 -04:00
Zach
c0bb640a37 Merge pull request #1295 from ctrlaltca/servatrice_email_v2
Refactor servatrice email send
2015-07-26 21:13:58 -07:00
Zach
f3ee1eac12 Merge pull request #1287 from ctrlaltca/servatrice_db_version
Fix misleading error message in servatrice; fix #1275
2015-07-25 22:36:01 -07:00
Fabio Bas
9c38b08407 Again on the same problem 2015-07-25 19:51:32 +02:00
Fabio Bas
c714932e25 Fix compilation under OSX with homebrew's qt5.5 2015-07-25 19:28:30 +02:00
Fabio Bas
1ffc9b4561 Refactor servatrice email send 2015-07-25 18:48:34 +02:00
Fabio Bas
946410de2b Fix misleading error message in servatrice; fix #1275 2015-07-22 17:51:30 +02:00
Fabio Bas
7f358d289e Fix calculation of ban expiration; fix #1283 2015-07-21 22:32:31 +02:00
Fabio Bas
5dc7c60b4d reorder parameters 2015-07-15 15:17:23 +02:00
Fabio Bas
056edd8570 Merge memory leak fix for smtp client
source:
https://github.com/bluetiger9/SmtpClient-for-Qt/commit/c12f70b721a80dfbb
fd4feb5c0f17ddef93d5a56
2015-07-15 12:42:56 +02:00
woogerboy21
51d12f3ed6 Merge pull request #1259 from woogerboy21/update_servatrice_scripts
Script Cleanup
2015-07-14 15:33:11 -04:00
woogerboy21
795c05257f Inactive accounts script description update
Updated description in script to clarify things.
2015-07-14 15:10:25 -04:00
woogerboy21
44025c667e Script Cleanup
Added the ability to specify custom database name.
Added the ability to specify custom table prefix.
Created sub folders for operating systems.
2015-07-14 15:05:02 -04:00
woogerboy21
d91bbcfbce Removed Player Count Debug Line
Removed the output put to console for every logged in user.  It just cluttered things up.
2015-07-14 08:54:05 -04:00
woogerboy21
a9acb3f1cc Total Max User Restriction
Syntax correction.
2015-07-13 17:54:03 -04:00
woogerboy21
aa540f7968 Merge pull request #1240 from woogerboy21/db_backup_scripts
Update DB Scripts
2015-07-13 13:51:08 -04:00
Zach
7ebf817b17 Merge pull request #1197 from Cockatrice/cpp11 2015-07-13 13:23:18 -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
woogerboy21
ff5ea7fc1f Added log maint script
Added log maint script
2015-07-11 17:03:37 -04:00
woogerboy21
9338e7e71f Added -e option
Added -e option by request
Updated process checking method to allow -e option
2015-07-11 16:35:12 -04:00
woogerboy21
10019bf985 Cleanup
Added -u options by request.
Removed line for running log cleanup prior to backup.
Added abort warning.
2015-07-11 15:41:59 -04:00
woogerboy21
04c09647d7 Update DB Scripts
Added backup / restore scripts.
Added table size script
Updated existing scripts to use variable location for mysql.cnf file
2015-07-11 11:22:54 -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
woogerboy21
a14a642b2b Merge pull request #1181 from ctrlaltca/servatrice_reload_config
Servatrice: refactor signal handling and permit config reloading
2015-07-03 12:29:12 -04:00
Gavin Bises
8ed9d35724 Update project to C++11 compilation. 2015-07-03 10:02:31 -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
woogerboy21
304835c526 Activation Email Misspelling
Corrected the misspelling of the word "activating' in the servatrice.ini example file.
2015-06-29 17:05:48 -04: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
0688dce449 Sql: Added "IF NOT EXISTS" where missing 2015-06-01 14:48:38 +02:00
Fabio Bas
135205d368 Implement migrations; fix #153 2015-05-31 17:36:15 +02:00
Fabio Bas
83773e5e37 Fix #1119 2015-05-31 16:52:22 +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
tooomm
a6970d9624 svg+png updates
-updated and cleaned up cockatrice+servatrice svg's
-added old original svg's for future adjustments
-updated cockatrice+servatrice png's

ico+icns updates

-see #925 for more details
-updated svg's as source for new icon files

bmp updates

-updated svg's as source for new installer logos

cleaned up oracle.svg

cleaned up oracle.svg /2

svg updates /2

removed sensible data

`inkscape:export-filename` removed

removed sensible data

inkscape:export-filename

removed sensible data

inkscape:export-filename

removed sensible data

inkscape:export-filename

fix

fix2
2015-04-28 16:06:36 +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
b9cda5e36e Updated ini 2015-04-12 23:01:29 +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
Fabio Bas
7bbb5dec52 fix #947 2015-04-11 15:19: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
ctrlaltca
88b242b34d Merge pull request #829 from ctrlaltca/antiflood
Anti flood for game commands; fix #753
2015-03-22 22:08:25 +01:00
Zach
b1231e6442 Merge pull request #801 from Cockatrice/woogerboy21-setup_firstadmin
Script to add the first admin account
2015-03-16 22:30:58 -04:00
Fabio Bas
0e437cf13b Anti flood for game commands 2015-03-14 19:44:32 +01:00
woogerboy21
ebaeae0048 Script to add the first admin account
Script to add the first admin account to the servatrice database.  Running this script after setting up a servatrice server will add the user account "servatrice" with the password of "password".
2015-03-06 11:08:32 -05:00
woogerboy21
38b6235242 Cleanup script to delete unactivated user accounts
Fix #782
The script will remove any registered user accounts that are not active that are 5 days old or older (by default). You can change the time frame to whatever liking you desire.
2015-02-26 10:37:08 -05:00