Commit graph

84 commits

Author SHA1 Message Date
woogerboy21
0fdb9b7c83 Added registration email blacklist (#2352)
* Added registration email blacklist

Added the ability to define email blacklist for user registration.  Now
server operators can prevent users from registering accounts that
contain providers they do not wish users to use.

* Update ini option for clarity

Updated servatrice ini option name for clarity.

* Updated description for clarity

Added implicit explination
2017-02-08 15:25:27 -05:00
Zach H
04779c2a77 protobuf warnings fixed (#2313) 2016-12-11 19:22:39 +01:00
woogerboy21
6962777ded Rework idle timeout, now server side (#2259)
* Server side idle timeout

Initial commit for server side idle timeout counter.  This adds a new
int value that is updated when room/game/mod/admin commands occur and is
checked during the regular ping timout function that if the users new
"idle" value exceeds the idleclienttimeout value defined in the servers
configuration file the user is logged out.  The user will receive a
warning at the 90% time frame mark about being idle.

* Use round instead of ceil

Travis fix for older xcode issue's.

* Fixed requested items

Mis-spelleed function, added header, added warning message sent check
value.  Also corrected the protobuf declaration file for
event_notifyuser

* Moved bool to protected

* Re-Ordered Declarations

* Removed most stylistic items

Resolved most noted things.

* Remove client side idle timeout

Removed client side idle timeout functionality
2016-11-08 22:18:12 -05:00
woogerboy21
f17a0da434 Added user privilege level (#2228)
* Update log path example when running under windows

Added example of log path syntax when running servatrice under windows.

* Missed example bra cket

* Added user privilege level

Added a enum column in the users table named "privilevel" with the
current values of "none", "vip", and "donator".  Also allowed anyone
with a higher privilege level than "none" to log in even if the server
is set to limit the user total and the user limit is reached.  This
change add's the new user information into the users container that gets
populated and passed between client and server.

* Added user privilege level

Added a enum column in the users table named "privilevel" with the
current values of "none", "vip", and "donator".  Also allowed anyone
with a higher privilege level than "none" to log in even if the server
is set to limit the user total and the user limit is reached.  This
change add's the new user information into the users container that gets
populated and passed between client and server.

* don't use corrected name when downloading card (#2164)

* Fix dynamic user limit settings

PR #2220 removed the ability to be able to change the max user limit
count while the server is running requiring a restart to make the
settings change.  This PR reverts the behavior back to how it operated
prior to the PR.

* Call class functions for consistency

Updated code to call functions for consistency.

* don't use corrected name when downloading card (#2164)

* Added user privilege level

Added a enum column in the users table named "privilevel" with the
current values of "none", "vip", and "donator".  Also allowed anyone
with a higher privilege level than "none" to log in even if the server
is set to limit the user total and the user limit is reached.  This
change add's the new user information into the users container that gets
populated and passed between client and server.

* Corrected Typo

Corrected typo in DB Migration Script

* Git fuckup?

* Added word column

Added the word column to migration script for backwards compatibility
2016-10-26 02:07:42 -04:00
woogerboy21
10b677acdf Cleanup max user check at login
This change accomplishes two goals.  The first is it moves the checking
for if the servers set user limit is reached out of the socket interface
and into the protocol handler portion of the code (were it should live).
It also eleminates the need for a DB query at login to check the user
count.  The user account is actually already maintained by the server
and a function already existed to get the user count total.
2016-10-16 12:48:39 -04:00
Fabio Bas
1e3fb6c6e1 Rework "paths" settings loading and card database loading
* main.cpp: removed path checking and db loading
 * card database: merge card loading methods into a single one
 * settings cache: take care of returning safe paths for decks,
replays, etc..
 * main window: if db loading fails (eg. first run), propose to run
oracle

NSIS: propose to run cockatrice instead of oracle

Rework card database loading

 * Move carddatabase-related method out of deckeditor tab
 * Load cards in another thread and render them progressively
 * Optimize database reload after enabled sets change

Fix deck editor column width

 * removed the noCard hack.
 * getCard() no more creates cards instead of just returning existing
ones
 * Fix the “edit tokens” dialog.
 * PictureLoader: avoid trying to download twice the same card
 * PictureLoader: correct return of card background
 * AbstractCardItem: avoid recalculating card color at every paint

Use a different file to save custom tokens

Misc required improvements

 * Use nullptr;
 * Refactor CardInfoWidget to use CardInfoPicture and CardInfoText
instead of duplicating code;
 * Added CardInfo::getColorChar()
 * Fixed some potential crashes
 * removed dead code related to CardInfoWidget
 * Don't require a restart after adding a new custom sets file
 * Bump CMake requirements to 3.1
2016-03-15 22:27:55 +01:00
Gavin Bisesi
0734b81e6e Remove 'syntax = proto2' from .proto files.
That marker is only recognized by pb3-compatible compilers, meaning that
tools which are otherwise compatible with our files break on them.
Notably, this includes hprotoc (for haskell).
2016-01-14 08:09:40 -05: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
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
90cb890cc2 Added the ability or moderation staff to request user ban history 2015-09-10 16:02:45 -04:00
woogerboy21
044c2356ff Added server/client feature set communication 2015-09-02 17:54:06 -04:00
woogerboy21
cfebd53d5d Corrected proto warnings 2015-08-25 23:40:08 -04:00
woogerboy21
364df4daf0 Extend the login protocol to send the client id (as optional) 2015-08-24 11:38:24 -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
39fcabe921 Allows moderators to promote users to mod and demote mod to user 2015-08-20 22:42:10 -04:00
woogerboy21
3e94c9d283 Define permission levels for rooms 2015-08-15 21:00:51 -04:00
woogerboy21
b102a05a36 Add ability to ban by client id 2015-08-14 00:06: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
woogerboy21
a9acb3f1cc Total Max User Restriction
Syntax correction.
2015-07-13 17:54:03 -04:00
Zach
6bf421cc31 Merge pull request #1210 from ctrlaltca/profile_edit
Profile management
2015-07-07 02:01:27 -04:00
Zach H
1bda6e53b2 allow mod global msg 2015-07-05 22:06:35 -04:00
Fabio Bas
7f5f290c93 Profile management 2015-07-05 22:44:35 +02:00
Fabio Bas
6cf3db7e6b Servatrice: refactor signal handling and permit config reloading 2015-06-30 22:21:26 +02:00
Fabio Bas
8826908923 Automatically attach related cards to the original card 2015-06-13 15:40:59 +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
ctrlaltca
25f444a5af Merge pull request #1051 from poixen/reveal_top_x
Reveal top x cards
2015-05-16 18:20:56 +02:00
Matt Lowe
59c0834427 Reveal top x cards
Updated reveal top card to reveal top x cards
Sometimes you want to reveal more than only the top 1 card.
2015-05-04 10:49:49 +02:00
Matt Lowe
878b760321 Removed lprotobuf error on building
Will need @ctrlaltca to confirm this wont mess anything up. I have
removed a option to se set from the cmake file. This option is not
needed.

Windows users, you will need to run cmake to create the sln again.
2015-05-01 22:32:31 +02: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
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
4c2a553f03 Have servatrice inform players of sideboard size
Ref #142
2014-06-28 00:36:43 -04:00
Fabio Bas
a4fbf8b677 Force linking with pthread under unix
Protobuf depends on pthread under unix, but cmake’s FindProtobuf
doesn’t add -lpthread to link flags
2014-06-13 19:09:33 +02:00
Fabio Bas
721cf6fe4f Re-indent CMakeLists.txt using spaces 2014-06-11 18:08:30 +02:00
Fabio Bas
ed0311d59e Added comments for comment's CMakeLists.txt 2014-06-11 01:26:54 +02:00
Fabio Bas
4fd8c94df0 Overhaul common's CMakeLists.txt
* Use automoc instead of a manual list of headers
* Remove Qt4 detection
* Created missing .cpp for .h files (for automoc detection)
* Remove pthread linking
* Forcing -lprotobuf is not needed for mingw; msvc only?
2014-06-11 01:24:34 +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
b9087715bf fixed issue #42: make 'client deprecated' message work for v13 client <-> v14 server 2012-05-09 23:13:23 +02:00
Max-Wilhelm Bruker
0eee6d7ab9 fixed issue #49: when editing a remote deck, be able to directly save it there 2012-05-09 21:52:09 +02:00
Max-Wilhelm Bruker
f00eaa83d4 added missing file 2012-05-07 20:24:18 +02:00
Max-Wilhelm Bruker
e76502cf0e handle dead commands when the connection is lost before the reply gets processed 2012-05-01 21:16:16 +02:00
Max-Wilhelm Bruker
e5a0a08569 fixed #43: add delete button to local dir view in deck storage tab and in remote dir view in replays tab 2012-05-01 12:08:09 +02:00
Max-Wilhelm Bruker
95cd293b9c context menu for a message sender's name in chat; also display the user level icon next to the name; minor consistency and type-safety changes 2012-04-08 23:48:02 +02:00
Max-Wilhelm Bruker
ae19d3dc4b fixed game list update bug, minor optimizations, restrict client protocol output to QT_DEBUG mode 2012-04-06 17:52:23 +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
Max-Wilhelm Bruker
13b992cf12 show ban duration in client 2012-03-31 12:07:25 +02:00