Commit graph

80 commits

Author SHA1 Message Date
ZeldaZach
b02adccf87 Support Qt6, Min Qt5.8, Fix Win32, Fix Servatrice
Add lock around deleting arrows for commanding cards

Add support for Qt6 w/ Backwards Qt5

Handle Qt5/6 cross compilation better

Last cleanups

caps matter

Fix serv

Prevent crash on 6.3.0 Linux & bump to 5.8 min

Prevent out of bounds indexing

Delete shutdown timer if it exists

Fixup ticket comments, remove unneeded guards

Try to add support for missing OSes

Update .ci/release_template.md

Update PR based on comments

Update XML name after done and remove Hirsute

Address local game crash

Address comments from PR (again)
Tests don't work on mac, will see if a problem on other OSes

make soundengine more consistent across qt versions

disable tests on distros that are covered by others

Fix Oracle Crash due to bad memory access

Update Oracle to use new Qt6 way of adding translations

Add support for Qt5/Qt6 compiling of Cockatrice

Remove unneeded calls to QtMath/cmath/math.h

Update how we handle bitwise comparisons for enums with Tray Icon

Change header guards to not duplicate function

Leave comment & Fix Path for GHA Qt

Update common/server.h

Update cockatrice/src/window_main.cpp

Rollback change on cmake module path for NSIS

check docker image requirements

add size limit to ccache

put variables in quotes

properly set build type on mac

avoid names used in cmake

fix up cmake module path

cmake 3.10 does not recognize prepend

Support Tests in FindQtRuntime

set ccache size on non debug builds as well

immediately return when removing non existing client

handle incTxBytes with a signal instead

don't set common link libraries in cockatrice/CMakeLists.txt

add comments

set macos qt version to 6

Try upgrading XCode versions to latest they can be supported on

Ensure Qt gets linked

add tmate so i can see what's going on

Qt6 points two directories further down than Qt5 with regard to the top lib path, so we need to account for this

Establish Plugins directory for Qt6

Establish TLS plugins for Qt6 services

Minor change for release channel network manager

Let windows build in parallel cores

Wrong symbols

Qt6 patch up for signal

add missing qt6 package on deb builds

boolean expressions are hard

negative indexes should go to the end

Intentionally fail cache

move size checks to individual zone types

Hardcode libs needed for building on Windows, as the regex was annoying

Update wording

use the --parallel option in all builds

clean up the .ci scripts some more

tweak fedora build

add os parameter to compile.sh

I don't really like this but it seems the easiest way
I'd prefer if these types of quirks would live in the main configuration
file, the yml

fixup yml

readd appended cache key to vcpkg step

fix windows 32 quirk

the json hash is already added to the key as well

remove os parameter and clean up ci files

set name_build.sh to output relative paths

set backwards compatible version of xcode and qt on mac

set QTDIR for mac builds on qt5

has no effect for qt6

export BUILD_DIR to name_build.sh

merge mac build steps

merge homebrew steps, set package suffix

link qt5

remove brew link

set qtdir to qt5 only

compile.sh vars need to be empty not 0

fix sets manager search bar on qt 5.12/15

fix oracle subprocess errors being ignored on qt 5

clean up translation loading

move en@source translation file so it will not get included in packages
NOTE: this needs to be done at transifex as well!

Use generator platform over osname

Short circuit if not Win defined
2022-05-06 17:31:08 -04:00
ebbit1q
2fc85e0c08
use hashed passwords in all commands (#4493)
* protocol changes

* server changes

* client changes for password reset and registration

* add hashed password to change password in client

* always use hashed password to log in

* add warning to client when using plain text password

* require real password for changing email on server

this is backwards compatible as users logged in with a real password on
older clients will not need this, only users logged in with a hashed
password

* implement password dialog when changing email

* require min password length

* use qstringlist to build query instead

* use clear instead of = ""

* add max to password dialog

* use proper const ness in abstractclient

* reject too long passwords instead of trimming
2022-01-16 20:32:30 -05:00
ebbit1q
0280fea3e6
apply chat flood prevention in games next to rooms (#4387)
* apply chat flood prevention in games next to rooms

* add limit to private messages as well
2021-06-28 01:57:46 -04:00
ebbit1q
18a07274d4
clangify everything with the new header sorting (#3908) 2020-03-18 17:36:02 -04:00
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
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
Fabio Bas
5b21dc8cde Implementation of websockets in servatrice and test js client 2016-06-26 19:38:53 +02:00
woogerboy21
044c2356ff Added server/client feature set communication 2015-09-02 17:54:06 -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
21155ce54a Make gcc an happy puppy (-Wunused-parameter) 2015-05-24 00:47:12 +02:00
Fabio Bas
ff1aed717e Added token generation, user activation command and response. 2015-05-24 00:37:45 +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
Fabio Bas
3102dd60f9 Hide unused parameters in common/ to avoid warnings 2014-07-24 18:09:28 +02:00
arxanas
4e8ba699d2 Tabs to spaces. 2014-07-08 22:53:02 -04: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
520300dc86 made server threaded, fixing issue #51 2012-05-28 18:51:58 +02:00
Max-Wilhelm Bruker
981db47f9e initial commit for connection pools 2012-05-20 18:47:28 +02:00
Max-Wilhelm Bruker
f6f8ad82b2 server code cleanup 2012-05-01 12:48:59 +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
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
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
acb03c2bf2 replays expire after two weeks, lock can be toggled to prevent that 2012-03-04 11:35:56 +01:00
Max-Wilhelm Bruker
c6c6a970c6 interface & client tab for replay transfer 2012-02-25 19:33:44 +01:00
Max-Wilhelm Bruker
4895f2b4fd server code cleanup, changed in-game ping event to not use any bandwidth as long as nothing changes 2012-01-29 13:36:43 +01:00
Max-Wilhelm Bruker
d4aaf9fff5 minor cleanups, server-side deck storage code is working again 2012-01-02 00:11:33 +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
10018280e5 more PB 2011-12-30 02:03:26 +01:00
Max-Wilhelm Bruker
f115342e47 local mode is working again 2011-12-18 23:30:53 +01:00
Max-Wilhelm Bruker
4eb9dfc5bf server-side part of client -> server commands almost converted to ProtocolBuffers. not usable yet 2011-12-04 23:21:31 +01:00
Max-Wilhelm Bruker
1455c093cc store sessions in database 2011-12-04 13:36:53 +01:00
Max-Wilhelm Bruker
632e9bbff3 improved banning and deck hashing 2011-11-01 22:44:51 +01:00
Max-Wilhelm Bruker
be12a0b3a9 preliminary showGamesOfUser support 2011-07-02 14:36:10 +02:00
Max-Wilhelm Bruker
d892d320ea dynamic compression support 2011-06-25 15:58:38 +02:00
Max-Wilhelm Bruker
a4c3d48389 server shutdown function 2011-06-24 18:45:39 +02:00
Max-Wilhelm Bruker
9933b219a9 game list mutex in S_PH 2011-04-17 16:31:03 +02:00
Max-Wilhelm Bruker
2d8b12a576 reduced game selector minimum height; server race conditions fixed 2011-04-17 15:46:47 +02:00
Max-Wilhelm Bruker
45890b836b added send buffer to limit socket operations to one thread 2011-03-22 20:45:18 +01:00
Max-Wilhelm Bruker
4548841a93 server crash fix 2011-03-22 18:31:26 +01:00
Max-Wilhelm Bruker
fd7593edc1 improved logging, improved server multithreading 2011-03-22 17:55:20 +01:00
Max-Wilhelm Bruker
731dfcad5c kick users out of games 2011-03-03 17:05:44 +01:00
Max-Wilhelm Bruker
d6083a85c7 improved packet loss handling 2011-03-03 02:09:29 +01:00
Max-Wilhelm Bruker
57f9e2c3b4 user banning 2011-03-03 01:16:13 +01:00
Max-Wilhelm Bruker
6145d6d524 chat flood protection (yet untested) 2011-03-02 19:39:38 +01:00
Max-Wilhelm Bruker
4149f78001 more buddy&ignore code, added missing file 2011-03-01 20:49:36 +01:00
Max-Wilhelm Bruker
acac5addd6 initial commit: buddy list, ignore list 2011-02-20 16:47:13 +01:00