mirror of
https://github.com/magefree/mage.git
synced 2026-01-25 20:59:14 -08:00
Improved network stability and other related fixes:
* server: fixed that a critical errors ignored in user commands threads (now it will be added to the logs); * network: fixed frozen user responses in some use cases; * network: fixed accidental and incorrect user responses (only latest response will be used now); * network: improved freeze logs, added problem method name and code's line number; * cheats: removed outdated deck and card load logic (only init.txt commands supports now); * cheats: fixed wrong priority after add card dialog (closes #11437); * cheats: improved stability and random errors on cheat executes (related to #11437); * docs: added details on network and thread logic, human feedback life cycle, etc (see HumanPlayer, ThreadExecutorImpl);
This commit is contained in:
parent
4ba3e1fec5
commit
53add71826
33 changed files with 476 additions and 273 deletions
|
|
@ -2931,6 +2931,11 @@ public class TestPlayer implements Player {
|
|||
computerPlayer.signalPlayerConcede();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void signalPlayerCheat() {
|
||||
computerPlayer.signalPlayerCheat();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void abortReset() {
|
||||
computerPlayer.abortReset();
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ import mage.server.managers.ConfigSettings;
|
|||
import mage.server.util.ConfigFactory;
|
||||
import mage.server.util.ConfigWrapper;
|
||||
import mage.server.util.PluginClassLoader;
|
||||
import mage.server.util.SystemUtil;
|
||||
import mage.utils.SystemUtil;
|
||||
import mage.server.util.config.GamePlugin;
|
||||
import mage.server.util.config.Plugin;
|
||||
import mage.target.TargetPermanent;
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ import mage.player.ai.ComputerPlayerMCTS;
|
|||
import mage.players.ManaPool;
|
||||
import mage.players.Player;
|
||||
import mage.server.game.GameSessionPlayer;
|
||||
import mage.server.util.SystemUtil;
|
||||
import mage.utils.SystemUtil;
|
||||
import mage.util.CardUtil;
|
||||
import mage.view.GameView;
|
||||
import org.junit.Assert;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package org.mage.test.serverside.cheats;
|
||||
|
||||
import mage.constants.*;
|
||||
import mage.server.util.SystemUtil;
|
||||
import mage.utils.SystemUtil;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||
|
|
@ -56,7 +56,7 @@ public class LoadCheatsTest extends CardTestPlayerBase {
|
|||
execute();
|
||||
|
||||
setChoice(playerA, "5"); // choose [group 3]: 5 = 2 default menus + 3 group
|
||||
SystemUtil.addCardsForTesting(currentGame, commandsFile, playerA);
|
||||
SystemUtil.executeCheatCommands(currentGame, commandsFile, playerA);
|
||||
|
||||
assertHandCount(playerA, "Razorclaw Bear", 1);
|
||||
assertPermanentCount(playerA, "Mountain", 3);
|
||||
|
|
|
|||
|
|
@ -724,6 +724,11 @@ public class PlayerStub implements Player {
|
|||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void signalPlayerCheat() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void abortReset() {
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package org.mage.test.testapi;
|
|||
|
||||
import mage.constants.PhaseStep;
|
||||
import mage.constants.Zone;
|
||||
import mage.server.util.SystemUtil;
|
||||
import mage.utils.SystemUtil;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue