Commit graph

1377 commits

Author SHA1 Message Date
Ingmar Goudt
ae7919cd07 program towards Interface rather than implementations 2020-02-10 10:40:06 +01:00
dependabot[bot]
72e9424113
Bump shiro-core from 1.4.0 to 1.4.2 in /Mage.Server
Bumps [shiro-core](https://github.com/apache/shiro) from 1.4.0 to 1.4.2.
- [Release notes](https://github.com/apache/shiro/releases)
- [Changelog](https://github.com/apache/shiro/blob/master/RELEASE-NOTES)
- [Commits](https://github.com/apache/shiro/compare/shiro-root-1.4.0...shiro-root-1.4.2)

Signed-off-by: dependabot[bot] <support@github.com>
2020-02-04 23:22:50 +00:00
Oleg Agafonov
f4a0c70cf3 Server: improved ping info (added last activity time) 2020-02-01 10:49:00 +04:00
Oleg Agafonov
2079065af3 * Server: added /pings chat command to show players and watchers ping info; 2020-01-31 22:30:31 +04:00
Oleg Agafonov
2db9419ff1 * Flicker of Fate - fixed that it return permanents tapped; 2020-01-30 05:38:23 +04:00
Oleg Agafonov
4ac88ad289 * Cheat engine: added command to activate opponent's playable ability
* AI can't activate or play some things, but you can instruct it to do that;
 * insert special command in init.txt to enable it: [@activate opponent ability]
 * use cheat button to activate that command;
 * you will see all playable abilities for your opponent;
 * select any ability to activate (it will be activated by opponent);
 * maybe buggy as all other cheat engine commands;
2020-01-29 07:44:48 +04:00
Oleg Agafonov
ffdc884949 Logs cleanup (removed database logs) 2020-01-27 06:01:56 +04:00
Oleg Agafonov
ab2fb29270 Code cleanup (removed unused log4j setting files, added extra info, samples and instructions, removed java logs) 2020-01-26 16:30:42 +04:00
Oleg Agafonov
e883ab0d97 Code cleanup (removed outdated server's config.properties settings) 2020-01-26 15:20:37 +04:00
Oleg Agafonov
b56587a383 Code cleanup (removed outdated client's config.properties settings) 2020-01-26 15:19:22 +04:00
michaelrfarcasin
c3cb54f371 Add Freeform Unlimited Commander game type
Currently there's no multiplayer format that allows players to cast
spells from the command zone and also allows any deck size.

This is a problem for players who want to test EDH Cube decks. These
decks:
- can have any size - often between 40 and 100 - with no standard
- can have cards outside the commander's color identity
- may break the singleton rule

Create a game and deck type to accommodate these types of decks.

Notable differences from Freeform Commander in addition to the above:
- Decks can have any number of cards in the maindeck or sideboard
- Sideboard cards can be any type
- There are no illegal expansions
- Games can have a minimum 2 players
2020-01-20 22:47:27 -06:00
Oleg Agafonov
56c0dc485c Return old working version of force join (join all the time) 2020-01-18 09:52:07 +04:00
Oleg Agafonov
ce60a9d75b * UI: choose ability to play improves (see 8add25fa12) 2020-01-18 08:02:31 +04:00
Oleg Agafonov
8add25fa12 * UI: choose modes dialog improves:
* Added hotkeys to select options (1-9 for choice, SPACE/ENTER for done, ESC for cancel);
 * "Up to" modes choose dialog - added "done" button in dialog;
 * "Up to" modes choose dialog - fixed that user can't cancel if already selected one mode;
 * Added extra info about source object, selected and remaining modes to select, ability number for hotkey;
 * Fixed that mode choose dialog doesn't close on cancel (#6199);
2020-01-18 06:30:44 +04:00
Oleg Agafonov
cdce5c2c82 Server: ignore connection problem logs if user don't have game sessions; 2020-01-16 21:26:39 +04:00
Oleg Agafonov
4eacadb9f1 Server: added fix command call result to logs; 2020-01-15 07:22:36 +04:00
Oleg Agafonov
85ac603070
Merge pull request #6160 from phulin/rejoin2
Send message to client to force rejoin [don't merge]
2020-01-14 01:48:24 +01:00
LevelX2
1f7a7a10b0 * Panopticon Plane - Fixed draw card abilities. 2020-01-11 01:25:26 +01:00
Patrick Hulin
1c9cd592bd Send message to client instead of forcing rejoin if player is still connected. 2020-01-09 23:33:38 -05:00
Oleg Agafonov
b366a83a45 Prepare new release 2020-01-09 08:55:26 +04:00
Oleg Agafonov
ab1475d7e0 Little fixes 2020-01-09 08:52:25 +04:00
Oleg Agafonov
85e65c8f44 Code cleanup 2020-01-08 05:19:52 +04:00
Oleg Agafonov
6ce1e973f3 Additional improves to #6150 2020-01-07 12:01:34 +04:00
Oleg Agafonov
339c419d4b * UI: multiple improves for adventure/split cards:
* Split cards shows left and right mana cost (in deck editor, hand, etc);
 * Adventure cards shows adventure and normal cost (in deck editor, hand, etc);
 * Adventure cards shows adventure spell name in deck editor's list;
 * Fixed missing loading cursor in deck editor searching;
2020-01-07 11:49:55 +04:00
Patrick Hulin
dda8c904b6 Force-join players to a game if they haven't joined after 5 seconds.
This check has always occurred for disconnected players; expand it to all players.
2020-01-06 17:39:34 -05:00
Oleg Agafonov
d6f2b52f1e Merge fix 2020-01-03 19:06:21 +04:00
Oleg Agafonov
cc0679b6d3 Server: added logs about fix command usage; 2020-01-03 18:59:10 +04:00
Oleg Agafonov
0faecb2fb6 Server: fixed missing data compress for some server's responses; 2019-12-31 04:11:23 +04:00
Oleg Agafonov
335f046357 Server improves:
* improved /fix command to support disconnected/freezed players;
 * added chat messages about connection problem with opponents (checks players status every minute);
 * reduced timeout before remove disconnected player from waiting game dialog (from 4 to 2 minutes);
 * reduced timeout between client's pings (from 60 secs to 20 secs);
2019-12-31 03:23:10 +04:00
LevelX2
1dc8f37d20 * Expropriate - Fixed a strange problem that the prompt text of the select permanent selection to get the control of the permanent was not shown. Still not clear what the exact reason was but using a player list to save the voters seemed to cause the problem. 2019-12-27 23:22:32 +01:00
Oleg Agafonov
5b9f0c970c Removed bloated logs 2019-12-24 21:12:20 +04:00
Oleg Agafonov
8af784e8e6 Test framework: added commands to put cards in sideboard, outside and exiled zones; 2019-12-24 02:03:51 +04:00
Oleg Agafonov
98cbf42a11 Added MCTS AI for #6114 2019-12-23 23:35:19 +04:00
Oleg Agafonov
d26fde8dbc Prepare new release 2019-12-21 18:23:15 +04:00
Patrick Hulin
b7d080f888 Add December 2019 Vintage Cube. 2019-12-14 23:07:07 -05:00
ssouders412
50bd6cbc32
More pronoun fixes 2019-12-06 15:17:44 -05:00
ssouders412
2d3247d732
Updated pronouns to reflect current rules and oracle text
Replaced all instances of "her or she", "him or her", and "his or her", with "they", "them", and "their", or sometimes "that player". Updated verbs where appropriate.
2019-12-06 14:29:36 -05:00
Oleg Agafonov
7469d59eee Prepare new release 2019-11-30 01:32:54 +04:00
Evan Kranzler
b49bf569ce added Pioneer format 2019-10-21 21:46:37 -04:00
acosta
35a4f1a2fd Add Centurion banlist 2019-10-16 10:44:59 +02:00
Evan Kranzler
2fb9153608 updated server pom.xml to fix security vulnerability 2019-10-12 11:25:01 -04:00
Oleg Agafonov
f719503a89 Prepare new release 2019-09-27 21:19:03 +04:00
Oleg Agafonov
8dc6e152af Prepare next release 2019-09-10 00:33:47 +04:00
Patrick Hulin
5d944e4570 Add July 2019 Legacy Cube. 2019-08-17 14:59:36 -04:00
Ingmar Goudt
178da75e4d Sonar fixes 2019-07-09 21:57:55 +02:00
Oleg Agafonov
716b929877 Prepare new release 2019-06-30 18:33:29 +04:00
Oleg Agafonov
f6123037ec * UI: added playable/activatable cards highlight in all zone and windows (mana abilities, commander, graveyard, revealed, etc); 2019-06-28 03:30:57 +04:00
Ingmar Goudt
1cf6d99515 fix couple of sonar issues 2019-06-23 23:22:21 +02:00
Oleg Agafonov
03f99016d3 * Added new draft cube: MTGO Vintage Cube June 2019; 2019-06-14 20:44:25 +04:00
Oleg Agafonov
55bc61000a Prepare new release 2019-06-06 23:03:38 +04:00
Oleg Agafonov
9a9b304fd5 * UI: improved hand request dialog (users can ask your hand once per game, reset it by re-activate button); 2019-05-28 13:46:29 +04:00
Oleg Agafonov
1465e505c0 Added duel mode for oathbreaker 2019-05-27 18:02:28 +04:00
Oleg Agafonov
07cf5201ba * Added new game mode: Oathbreaker (#5678); 2019-05-27 16:17:15 +04:00
Oleg Agafonov
8448afc709 Test framework: added commander games support (quick start button, "commander" command to put card as commander); 2019-05-13 13:20:41 +04:00
Oleg Agafonov
060ebe655e * Added new game type: Freeform Commander Two Player Duel (#5771) 2019-04-30 16:35:24 +04:00
Oleg Agafonov
bbf1c1343a Prepare release 1.4.35 2019-04-23 23:32:54 +04:00
Oleg Agafonov
c6d32bd33d [WAR] added tokens images 2019-04-23 23:32:09 +04:00
Oleg Agafonov
6206616af4 Added some comments and timeouts info 2019-04-22 15:58:32 +04:00
Oleg Agafonov
3ca57533b5 Fixed wrong class package, pom config and broken code (visual studio code compatibility) 2019-04-03 02:45:52 +04:00
Oleg Agafonov
de4befb9c2 * Sideboarding: fixed that it possible to auto-submit 40 cards deck instead 60 in constructed formats (#5579);
Sideboarding: fixed that cheated deck with sideboard can be used instead lose the game;
2019-04-01 07:34:46 +04:00
Oleg Agafonov
65bb9b2161 Prepare new release 1.4.34 2019-03-29 18:31:00 +04:00
Oleg Agafonov
2a750457d5 Fixed that antispam blocks system messages in diff chat rooms; 2019-03-14 05:32:04 +04:00
Oleg Agafonov
1ccd1c2f2d Fixed NPE error on "/FIX" chat command; 2019-03-11 20:34:22 +04:00
Ingmar Goudt
45f665eb1d Sonar cleanups 03032019 2019-03-04 10:43:20 +01:00
Oleg Agafonov
48a36c6fc4 Added server logs 2019-03-04 06:31:40 +04:00
Oleg Agafonov
f64dac5e1b Added server logs about exp/cards downloads; 2019-03-01 19:06:07 +04:00
Ingmar Goudt
3359c1f3f1 sonar 220219, criticals 2019-02-22 12:06:11 +01:00
Ingmar Goudt
056226d83c Sonar fixes 19022019 2019-02-19 21:51:45 +01:00
Oleg Agafonov
8cf681dff2 Updated libraries to latest versions and code compatibility fixes; 2019-02-17 16:12:57 +04:00
Oleg Agafonov
971a98061d Fixed SQL errors on non escaped symbols in usernames/emails/passwords; 2019-02-17 16:09:00 +04:00
Ingmar Goudt
39fc9fbc59 remove duplicate logger in UserManager 2019-02-15 11:05:01 +01:00
Oleg Agafonov
c29b68f030 Disabled cards rating and classes preloading on startup (lags problem); 2019-02-09 16:09:07 +04:00
Oleg Agafonov
4d91b6568a Fixed missing premodern deck in released config (#5301) 2019-02-04 22:50:28 +04:00
Ingmar Goudt
2cd9e25229 better use of the CardsImpl constructor 2019-02-03 21:08:31 +01:00
Oleg Agafonov
7eba755666 Refactor card ratings, fixed rare error exception "comparison method violates its general contract" (different ratings in same card); 2019-02-01 17:41:29 +04:00
Oleg Agafonov
f1ba813518 Cheats: added amount supports in stack command; 2019-01-26 14:32:32 +04:00
Oleg Agafonov
8ef30e4cde Cheats: added command to add any card/spell to stack without cost (only simple cast supports, without targets and modes); 2019-01-26 14:16:44 +04:00
Oleg Agafonov
855baff877 Fixed rare infinite loops on user session disconnects; 2019-01-24 21:42:47 +04:00
Oleg Agafonov
91a3328907 * UI: added cell hints to player's list in lobby, fixed header hints; 2019-01-21 01:10:01 +04:00
Ingmar Goudt
50f28a2bf7 add some Java8 magic to the server 2019-01-19 09:31:50 +01:00
Ingmar Goudt
7c2f55eda0 couple of sonar fixes 2019-01-17 12:03:22 +01:00
Oleg Agafonov
14f66029f8 Missing v33 commit 2019-01-16 20:59:45 +04:00
Oleg Agafonov
b2d4d1eba8 Cheats: added command to add loyalty points to card 2019-01-15 20:45:08 +04:00
Oleg Agafonov
063be44523 Fixed NPE errors for some cards (#5471) 2019-01-08 07:15:39 +04:00
Oleg Agafonov
f01b3d3ca3 Improved new version cleanup and more:
* fixed db cleanup on new version (sets + cards);
 * fixed empty sets list after update;
 * fixed NPE errors in sets list on new install/version;
 * added joke sets filter to deckeditor.
2019-01-06 15:41:30 +04:00
brodee
5bd30c8c55 added the scg winter con cube
this is the cube they drafted for $10k
2019-01-01 14:07:16 -08:00
Miguel Sainz Jr
aede48df04 Implement December 2018 Vintage Cube 2018-12-26 11:49:49 -05:00
John Hitchings
7e621ee8af Make draft logs compatible with MTGO format #5450 - https://github.com/magefree/mage/issues/5450 2018-12-19 19:41:44 -08:00
Oleg Agafonov
452b889fe7 Fixed some exceptions on slow servers; 2018-12-15 18:45:00 +04:00
Oleg Agafonov
0a2f312da7 Added build time to version info, cleanup manifest files; 2018-12-15 18:29:10 +04:00
LevelX2
e6ce58d6bf XMage 1.4.32V0 2018-11-26 19:30:22 +01:00
LevelX2
e7d129a074
Merge branch 'master' into add-minimum-rating-option 2018-11-26 17:18:35 +01:00
Oleg Agafonov
a806e79abd * Improved chat help about ignore command (it's not only chat, but game joins too); 2018-11-05 09:06:31 +04:00
LevelX2
e6b78d7a2e Updated some libs to newer versions. 2018-10-21 21:36:53 +02:00
Aaron Miller
5cd57199c7 Merge branch 'master' into add-minimum-rating-option 2018-09-29 19:15:46 -07:00
Aaron Miller
81c2a62250 Add "minimum rating" option to matches and tournaments 2018-09-29 19:14:39 -07:00
Ingmar Goudt
7b4acbe386 clean up some null checks 2018-09-27 22:16:32 +02:00
Ingmar Goudt
188a09b8fb change keyset to entryset 2018-09-27 22:16:00 +02:00
Ingmar Goudt
a603c5e62c fix return of Optional 2018-09-27 22:15:14 +02:00
Ingmar Goudt
eeaf2284cd fix a nullcheck of an Optional.. 2018-09-27 11:05:23 +02:00
Ingmar Goudt
f04d7c9b03 remove redundant null checks before instanceof 2018-09-17 21:09:42 +02:00
jmharmon
16fb2c2130
Implement Premodern 2018-09-12 08:19:46 -07:00
LevelX2
deb675a74a Xmage 1.4.30V0 2018-08-15 11:35:40 +02:00
spjspj
589a542cbc Update Penny Dreadful 2018-08-08 00:09:03 +10:00
spjspj
f21543ff8d
Merge pull request #5146 from spjspj/master
Hopefully fix the /fix command ..
2018-07-13 01:01:57 +10:00
spjspj
ec1dc44327 Hopefully fix the /fix command .. 2018-07-13 00:02:26 +10:00
igoudt
ca1ebeb55e add method Game.isActivePlayer(UUID playerId) 2018-06-29 14:59:11 +02:00
Evan Kranzler
b862949133 added MTGO Vintage Cube June 2018 to config.xml 2018-06-22 15:36:25 -04:00
LevelX2
c4212a0d9e Added No Banned List Modern format to config file (#4924). 2018-06-03 10:11:47 +02:00
GrayedFox
3953f3dbdd
remove all MIT copyright notices from files 2018-06-02 17:59:49 +02:00
LevelX2
a19c257e50 XMage 1.4.30V0 2018-05-27 01:28:42 +02:00
LevelX2
cfe712efc6 XMage 1.4.29V5 2018-05-27 01:00:55 +02:00
LevelX2
fcc6174e5e Some null exceptions checking and fixed some other minor problems. 2018-05-26 01:22:28 +02:00
Oleg Agafonov
463e947c00 Added more info to config description 2018-05-18 15:56:45 +04:00
jmharmon
1679672243
Add files via upload
Adding Old School 93/94 rule variants.
2018-05-18 03:51:53 -07:00
Oleg Agafonov
4940b3a7a4 Fixed typos in new modern no banned list mode; 2018-05-17 19:28:23 +04:00
Shaun Hannah
4d335fc396 Added No Banned List Modern format
This is just as the name implied, modern with no banned cards.

Why? Because I want to gear up for the SCG-CON's no banned list modern
tourney: http://scgcon.starcitygames.com/open.php#prizes

Sure I could play in a freeform game, but modern can't compete with
vintage cards; so not really a good test case.
2018-05-09 20:10:11 -04:00
Oleg Agafonov
1a4e892f04 Cheat engine:
+ added commands to show my hand and library (@show my hand, @show my library);
  + added params to show color identity ("color commander") and card's color ("color cost");
2018-05-06 01:05:04 +04:00
spjspj
66825b37df
Merge pull request #4865 from spjspj/master
Implement Brawl Free For All and Brawl Duel
2018-04-25 19:44:41 +10:00
spjspj
730d23164a Implement Brawl Free For All and Brawl Duel 2018-04-25 19:17:34 +10:00
spjspj
f1b79bb902
Merge pull request #4857 from spjspj/master
pennydreadful update
2018-04-24 23:05:19 +10:00
spjspj
5746a40ad2 pennydreadful update 2018-04-24 23:03:32 +10:00
LevelX2
5cd1999efd * Added generated-sources/xjc directory to prevent java import problems. 2018-04-24 11:37:19 +02:00
LevelX2
fe2220e19e Xmage 1.4.29V0 2018-04-19 21:07:14 +02:00
spjspj
b45a409939 Continuing implementation of Planechase. 2018-04-15 19:40:15 +10:00
spjspj
a828050ae1 Continuing implementation of Planechase. 2018-04-14 23:09:37 +10:00
spjspj
c8b741f0bf Continuing implementation of Planechase. 2018-04-12 00:07:24 +10:00
spjspj
471d49892f Attempt to allow players to fix the game if the active/choosing/person with priority has left or has run down the clock 2018-04-02 19:31:05 +10:00
Marc Zwart
fed2f31789 set lock calls back to original place as per request 2018-03-29 13:56:10 +02:00
Oleg Agafonov
645fbf6da1 * Cheat engine: added optional set code in card's command (example: battlefield:Human:Island:HOU:1); 2018-03-24 18:44:02 +04:00
igoudt
00f91391e9 Homarid Drake, reprints, and rewriting his or her to their 2018-03-22 16:52:26 +01:00
spjspj
4382a4f247
Merge pull request #4649 from spjspj/master
Song of Blood (VIS)
2018-03-23 00:26:29 +11:00
ArcadeMode
5ac975c52e Blocker and Critical level bugfixes throughout the project (#4648)
* fixed https://sonarcloud.io/project/issues?id=org.xmage%3Amage-root&issues=AWIlv32RgrzAwlaaQ7rP&open=AWIlv32RgrzAwlaaQ7rP

* ensure closing of scanner if it was opened

* Refactored method in EmpyrialArchAngel to not always return same value.

* Refactored method in FalkenrathAristocrat to not always return same value.

* Refactored method in GilderBairn to not always return the same value.

* fixed left open resources, ensured quiet closing of the streams

* Refactored method in IceCave to not always return same value.

* Refactored method in KjeldoranRoyalGuard to not always return same value.

* Refactored method in LegionsInitiative to not always return same value.

* Refactored method in NaturesWill to not always return same value.

* added quiet closing method in new streamutils class, used to clean up the connectdialog

* Fix small typo

* added quiet closing to saveobjectutil

* closed resources in savegame method of gamecontroller

* properly close resources in loadGame method of GameReplay class

* further proper resource closing in ServerMessagesUtil

* fixed unclosed resources in copy method in mage framework Copier

* closed unclosed resources in copyCompressed method in Copier

* ensure closing of filewriter in manasymbols

* ensure proper closing of Stream in arcane UI

* ensure closing of datagram socket in arcane Util

* ensure resource closing in deckimport from clipboard

* ensure closing of plugin classloader

* ensured closing of zipinputstream resource

* ensure closing of fileoutputstream in ScryfallSymbolsSource

* ensure closing resources after finishing/canceling download of pictures

* remove commented code

* move locks to try block to ensure unlocking along all execution paths

* remove dangerous instance of double-checked locking

* removed dangerous instance of double checked locking in settingsmanager

* Removed dangerous instance of double-checked locking in ThemePluginImpl

* close resource which did not happen certainly

* close another stream

* ensure closing of inputstream
2018-03-22 08:13:13 -05:00
spjspj
6e15835232 New M15 Rendering for Unstable lands
(Way to default to 'UST' for the cheat button.
2018-03-20 16:15:08 +11:00
LevelX2
b073ce1c42 * Added to all toUpperCase/toLowerCase calls the Locale.ENGLISH to prevent problems with some languages (e.g. Turkish). Removed some unused import statements. (#4634). 2018-03-18 18:18:54 +01:00
spjspj
dd11d09cfa
Merge pull request #4616 from spjspj/master
This allows hidden information out from the game state.
2018-03-14 01:42:37 +11:00
spjspj
f1967de231 This allows hidden information out from the game state. 2018-03-14 01:41:46 +11:00
LevelX2
16adc9b4ef Added Legacy Cube February 2018 2018-03-11 14:12:21 +01:00
LevelX2
fed2d1a259 XMage 1.4.28V0 2018-03-10 20:42:29 +01:00
Shaun Hannah
7c7f88ab3c [WIP] S3 Upload of JSON log 2018-02-27 05:17:20 -05:00
LevelX2
7e5f4f580d * Fixed wrong user active check for table health. 2018-02-25 12:33:57 +01:00
LevelX2
89b6aeacd6 * Added a test related to #4539. 2018-02-20 16:16:26 +01:00
spjspj
bb512faa98 Add option to get debug information from game state in chat 2018-02-19 12:12:18 +11:00
LevelX2
1ef84278c2
Merge pull request #4419 from rsypen/master
Fixed local server time in client's chat messages
2018-02-15 15:16:52 +01:00
LevelX2
ac81c5bbd4 Changed callbackException handling. 2018-02-03 10:49:57 +01:00
LevelX2
7afc157ba0 xmage 1.4.27V2 2018-01-31 00:08:05 +01:00
LevelX2
5d7532dff2 Reverted changes on Session locking. 2018-01-28 23:25:16 +01:00
LevelX2
7f17011bf0 Added logic to suppress failing callbacks to users that lost connection. 2018-01-28 18:05:43 +01:00
LevelX2
34a884546a Readded message if user lost connection. 2018-01-28 18:03:37 +01:00
LevelX2
62a40ab459 Xmage 1.7.27V1 2018-01-28 01:15:19 +01:00