Commit graph

69 commits

Author SHA1 Message Date
woogerboy21
044c2356ff Added server/client feature set communication 2015-09-02 17:54:06 -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
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
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
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
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
0e437cf13b Anti flood for game commands 2015-03-14 19:44:32 +01: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
3102dd60f9 Hide unused parameters in common/ to avoid warnings 2014-07-24 18:09:28 +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
arxanas
4e8ba699d2 Tabs to spaces. 2014-07-08 22:53:02 -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
d5ccda49a1 server code cleanup 2013-01-23 11:51:59 +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
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
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
13b992cf12 show ban duration in client 2012-03-31 12:07:25 +02:00
Max-Wilhelm Bruker
542fd2c5c8 added menu item: game->game information, issue #1 fixed 2012-03-24 22:09:06 +01:00
Max-Wilhelm Bruker
af8e357487 improved code for automatic joining of persistent games; disconnecting + reconnecting works as it should with ISL 2012-03-18 21:57:21 +01:00
Max-Wilhelm Bruker
5db0fcd6ae cleanups, games work with ISL, now we just need to clean up better when the ISL connection dies 2012-03-18 18:48:14 +01:00
Max-Wilhelm Bruker
c9a8429044 always get next game/replay id from database to avoid id collisions in multi-server mode 2012-03-17 23:01:56 +01:00
Max-Wilhelm Bruker
9706ecd98a added mutex for RNG, moved game command implementation from S_PH to S_Player in preparation for forwarding of game commands via tunneling interface 2012-03-17 22:26:12 +01:00
Max-Wilhelm Bruker
c23af44749 changed a lot of thread locking code in the server, rooms are working with ISL now 2012-03-17 16:09:00 +01:00
Max-Wilhelm Bruker
572e4eaafa more ISL code, mutex fixes 2012-03-12 00:36:44 +01:00
Max-Wilhelm Bruker
0ae18d7b2e more ISL code: join, leave, and userMessage work on both sides 2012-03-11 17:25:45 +01:00
Max-Wilhelm Bruker
5963c2239c renamed servernetwork to ISL (inter-server link), join/leave is working 2012-03-10 19:02:15 +01:00
Max-Wilhelm Bruker
c9b66e4239 more ServerNetwork code 2012-03-04 19:23:43 +01:00
Max-Wilhelm Bruker
a876a0bf5f tell logged in clients about new replays 2012-03-03 18:10:16 +01:00
Max-Wilhelm Bruker
8481e61e8f Replays split up, one for each subgame 2012-03-02 20:45:04 +01:00
Max-Wilhelm Bruker
c6c6a970c6 interface & client tab for replay transfer 2012-02-25 19:33:44 +01:00
Max-Wilhelm Bruker
d50d179b2f server-side replay support 2012-02-20 22:13:48 +01:00
Max-Wilhelm Bruker
ff3eb9b5f4 display reason for ban to banned user 2012-01-01 19:38:52 +01:00
Max-Wilhelm Bruker
c4eb7ba6cf PB: more client files compile 2011-12-30 22:29:57 +01:00
Max-Wilhelm Bruker
d3b96b1a88 PB: server compiles again, standalone RemoteClient is able to log in 2011-12-30 21:50:25 +01:00
Max-Wilhelm Bruker
1455c093cc store sessions in database 2011-12-04 13:36:53 +01:00
Max-Wilhelm Bruker
ef42c7518a added argentina to countries 2011-07-05 12:44:39 +02:00
Max-Wilhelm Bruker
05ebb83ba4 improved banning; added [url] and [card] tags for chat 2011-06-25 21:21:19 +02:00
Max-Wilhelm Bruker
461a62e0c8 LocalServer crash fix 2011-05-08 17:56:52 +02:00
Max-Wilhelm Bruker
38b31681e2 changed leave game shortcut, server cleanups, added max_games_per_user 2011-04-21 01:52:09 +02:00
Max-Wilhelm Bruker
6d5b29395c mutex and ghost games fixes 2011-03-29 23:54:08 +02:00
Max-Wilhelm Bruker
45890b836b added send buffer to limit socket operations to one thread 2011-03-22 20:45:18 +01:00