Commit graph

81 commits

Author SHA1 Message Date
ctrlaltca
b29bd9e070
Clang-format (#3028)
* 1/3 Add .clang-format file and travis compilation check

* 2/3 Run clang-format

* 3/3 Fix compilation problems due to include reordering

* 3bis/3 AfterControlStatement: false
2018-01-27 10:41:32 +01:00
woogerboy21
d0088f6a18 Server audit table (#2423)
* Creating of server side audit table for auditing actions such as password resets, account registrations and log queries.

* Add migration script

Add migration script for database

* Update database script

Update database script to reflect new audit table

* Creating of server side audit table for auditing actions such as password resets, account registrations and log queries.

* Add migration script

Add migration script for database

* Update database script

Update database script to reflect new audit table

* Corrected results column possible value(s).

* Fixed migration script.

* Added boolean audit logic

Added enable/disable audit options
Added audit functionality for forgot password

* Added registration auditing

Added registration auditing

* Updated ActivateAccount Function

Created clientid variable and used it in preporation for future
potential protocol expansion.

* Extended activation protocol

Added clientid to activation command protocol

* Typo correction

Fix typo's

* Missed type fix

Found the infamous E!

* Updated database function syntax

Updated if/else syntax in db add audit function

* Untabify content

Untab files changed in PR
2017-02-25 13:48:31 -05:00
woogerboy21
0cfa6863d5 Simpler forgot password functionality (#2393)
* Simpler forgot password functionality (Server/Client)
2017-02-15 17:41:40 -05:00
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
woogerboy21
a85b0dcbba Add email registration restriction (#2350)
* Add ability to limit number of account registrations with same email address

This commit adds server side functionality that will allow operators to
limit the number of accounts that can be registered to the server with
the same email address.

* Updated ini wording

Updated configuration file wording for better description.
2017-01-07 11:26:23 -05:00
woogerboy21
3e39432ccc Add configuration to enable/disable internal smtp client (#2337)
Fix #1881
This change allows the server operator to enable or disable the internal
SMTP client that sends activation emails.  With this new configuration
option server operators can choose to require email activation yet use
an external method of account verification and/or account token
notification.
2017-01-06 17:02:52 -05:00
woogerboy21
a6f1f4c01d Add enable/disable log query functionality (#2294)
* Add enable/disable log query functionality

This change adds the ability for server owners to allow log querying
from inside the client.  In the event the functionality is not allowed a
result is returned indicating the functionality is disabled.

* Added translation

Added the ability for the disabled messages to be translated.
2016-12-06 15:37:36 -05: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
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
woogerboy21
749bc5d6f5 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.
2016-10-24 00:30:58 -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
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
Fabio Bas
5b21dc8cde Implementation of websockets in servatrice and test js client 2016-06-26 19:38:53 +02:00
Fabio Bas
bb5292aa8d Drop Qt4, libgcrypt, qtmobility dependencies 2016-05-11 12:45:58 +02:00
woogerboy21
6ad2a59367 Added official warning messages moderators can use to inform users 2015-09-22 22:27:46 -04:00
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
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
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
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
0e437cf13b Anti flood for game commands 2015-03-14 19:44:32 +01:00
Michael Callahan
3a0c86938c Clean up a small pile of compiler warnings. 2014-12-30 15:54:38 -07:00
Fabio Bas
0d9eec4b64 Servatrice: added authentication type "password" 2014-10-04 17:50:01 +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
d894c53265 Servatrice: fix handling of incoming connections on qt5 2014-07-08 22:05:06 +02:00
Max-Wilhelm Bruker
d5ccda49a1 server code cleanup 2013-01-23 11:51:59 +01:00
Max-Wilhelm Bruker
9af69f53af server compile fix for older Qt versions 2012-05-28 19:03:05 +02:00
Max-Wilhelm Bruker
9d0133bae6 fix for older Qt versions 2012-05-28 19:01:29 +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
7c8b3fc5e3 fixed #45: Terminate servatrice if critical error in e.g. listen() happens during initialization 2012-05-01 10:58:08 +02:00
Max-Wilhelm Bruker
13b992cf12 show ban duration in client 2012-03-31 12:07:25 +02: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
671214c60e mutex fixes, server shutdown works again 2012-03-17 19:05:22 +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
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
6bbc76af2b Merge branch 'devel' into servernetwork 2012-03-04 12:23:22 +01:00
Max-Wilhelm Bruker
8481e61e8f Replays split up, one for each subgame 2012-03-02 20:45:04 +01:00
Max-Wilhelm Bruker
50e53fbe53 initial commit for server network support 2012-02-26 21:00:05 +01:00
Max-Wilhelm Bruker
c6c6a970c6 interface & client tab for replay transfer 2012-02-25 19:33:44 +01:00
Max-Wilhelm Bruker
89bb8e72ee use 'git describe' to generate version info for the about box and servatrice. fixes issue #20 2012-02-21 01:08:16 +01:00
Max-Wilhelm Bruker
d50d179b2f server-side replay support 2012-02-20 22:13:48 +01:00
Max-Wilhelm Bruker
eb06d6b4ea when banning an ip address, terminate the connection of everyone with that address 2012-01-29 20:55:24 +01:00