Commit Graph

98 Commits

Author SHA1 Message Date
woogerboy21 f86b9e0be7 Remedy connection type query at every login (#2298)
Fix #2285
This change adds an internal counter for each tcp/web socket connection
that the server makes and queries the stored memory count at login
rather than the previous way that quired the database during each login.
Each login that quired the DB put a significant load on the server as
the user base grew.
2016-12-07 01:35:35 -05:00
woogerboy21 21a34eaaa1 Cleanup server running variable information (#2239)
* Created first round of helper functions

Started to go through server init function and move statically defined
variables that the server uses into helper functions to allow for
dynamic changing while the server is up rather than requiring a restart.

* Completed Helper Function Creation

Completed adding all the helper functions along with updated the virtual
server function calls and renamed helper functions to match settings
cached ini value names for clarity.

* Comment Cleanup

Removed lines commented out throughout previous changes as well as
cleaned up variable declarations that are no longer needed with helper
functions that query the settingsCache

* Added featureset dynamic refreshing

Added slots/functions/calls for updating the required feature sets
dynamically.

* Created first round of helper functions

Started to go through server init function and move statically defined
variables that the server uses into helper functions to allow for
dynamic changing while the server is up rather than requiring a restart.
2016-10-31 10:30:12 +01:00
Fabio Bas d61d9c98a0 Avoid locking on local server shutdown 2016-07-20 16:53:57 +02:00
Fabio Bas 5b21dc8cde Implementation of websockets in servatrice and test js client 2016-06-26 19:38:53 +02:00
Fabio Bas b462f95343 Warning/ban notifications: null check userInfo pointer before dereferencing it 2016-02-24 23:47:35 +01: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 6ad2a59367 Added official warning messages moderators can use to inform users 2015-09-22 22:27:46 -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 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
woogerboy21 044c2356ff Added server/client feature set communication 2015-09-02 17:54:06 -04:00
woogerboy21 de073a51d6 Log inconsistent session / session table situation 2015-08-31 08:29:26 -04:00
woogerboy21 66dce1bf46 Fix bug that crashes server when old session is logged out during login 2015-08-30 23:33:11 -04:00
woogerboy21 b0630b81ca Log old session out of server if logging in from a second location 2015-08-22 13:41:02 -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 eb5833609a Add clientid field to sessions table. 2015-08-11 12:45:04 -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 bc99024e4f Added server side setting to allow the requirement of a client id from clients. 2015-08-08 08:52:19 -04:00
woogerboy21 94942e1a92 Commit to resolve requests made by @Daenyth discussed after the commit.
See https://github.com/Cockatrice/Cockatrice/pull/1340 for details.
2015-08-08 08:52:19 -04:00
woogerboy21 52db13a1ca Initial release of client ID generation. 2015-08-05 10:15:49 -04: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 ff1aed717e Added token generation, user activation command and response. 2015-05-24 00:37:45 +02:00
Fabio Bas 16d9534757 fix for -Werror=unused-parameter 2015-05-23 21:09:29 +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 cd69bc8f9d Add configuration options to enable database logging 2015-01-01 15:48:53 +01:00
Fabio Bas c875054fb5 Log messages from rooms, games and chats 2014-12-13 18:43:59 +01:00
Fabio Bas 15555c16fd Fix servatrice's regonly mode 2014-10-06 22:56:09 +02:00
woogerboy21 6b8ca1e8a2 Cleaned up potential memory leak 2014-08-10 15:48:15 -04: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
arxanas 4e8ba699d2 Tabs to spaces. 2014-07-08 22:53:02 -04: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 347d30a84b Merge branch 'master' of git://github.com/mbruker/Cockatrice 2013-02-27 12:36:14 -05:00
Max-Wilhelm Bruker 7a30b827c8 changed Server_Room::gamesMutex to QReadWriteLock 2013-02-11 15:43:31 +01:00
Max-Wilhelm Bruker c65f327e71 server crash fixes 2013-01-27 15:15:27 +01:00
Max-Wilhelm Bruker d5ccda49a1 server code cleanup 2013-01-23 11:51:59 +01:00
Max-Wilhelm Bruker 2789116d03 fixed cmdDeckSelect (2) 2013-01-12 16:33:29 +01:00
Max-Wilhelm Bruker 43d7cf6a1a removed recursive lock in server; moved object serialisation to worker thread 2012-10-14 13:19:03 +02:00
Daenyth af09d0d294 Reject more invalid usernames from clients.
Specifically this should cover people connecting with a username of
"\u200C"
2012-07-25 00:12:35 -04:00
Max-Wilhelm Bruker a1e35ccda5 servatrice: create correct game ids when not using a database 2012-07-17 18:47:00 +02:00
Max-Wilhelm Bruker 80439762cf hide login passwords from server log; call logDebugMessage in S_PH thread instead of Server thread 2012-06-03 19:23:15 +02:00
Max-Wilhelm Bruker 7157963204 removed usleep() call to enable compilation on Windows again 2012-06-02 19:38:31 +02:00
Max-Wilhelm Bruker d7e7606104 fixed 'open deck in deck editor' option in game, fixed freeze when closing local game 2012-05-28 19:34:07 +02:00
Max-Wilhelm Bruker 520300dc86 made server threaded, fixing issue #51 2012-05-28 18:51:58 +02:00
Max-Wilhelm Bruker b328c1ed4d database interface separated from server, multiple concurrent database connections are now possible 2012-05-28 16:32:45 +02:00
Max-Wilhelm Bruker 981db47f9e initial commit for connection pools 2012-05-20 18:47:28 +02:00
Max-Wilhelm Bruker 7417236c3a preliminary AlwaysRevealTopCard support related to issue #31, server code cleanup (finally removed getGameState) 2012-03-31 21:47:30 +02:00