-
Notifications
You must be signed in to change notification settings - Fork 340
Description
Environment
MekHQ's megamek. The recent Snapshot#862. All from the same snapshot#862, all 7zip for extraction.
What operating system are you using? Windows 10 client. Ubuntu server. All same version.
Server(ubuntu)
Java Vendor: Ubuntu
Java Version: 11.0.16
Platform: Linux 5.4.0-121-generic (amd64)
System Locale: en_US
Client(windows)
Java Vendor: Eclipse Adoptium
Java Version: 11.0.15
Platform: Windows 10 10.0 (amd64)
System Locale: en_GB
Description
Connect to a server. That has a valid custom map, in the usual location data/boards/
If you don't have that on the client end this can be an issue.
Connect to server, select the server sided map. Then try and add a bot. You get an Uncaught java.lang.IllegalArgumentException detected.

Of note, if you add the bot. Then set the custom server sided map, its all fine.
Files
I monitored both the client and server side logs, as i did this. And this blurb appears on the Client side. Of note, this map is valid...we've played on it several times. Presumably the bot must try and look at the map for some reason, can't find it (cos bot is on the client).
15:07:51,223 ERROR [megamek.common.Board] {AWT-EventQueue-0}
megamek.common.Board.load(Board.java:916) - IO Error opening file to load board! java.io.FileNotFoundException: data\boards\SolarisGrandPrix_1.board (The system cannot find the file specified)
15:07:51,223 ERROR [megamek.MegaMek] {AWT-EventQueue-0}
megamek.MegaMek.lambda$main$0(MegaMek.java:61) - Uncaught Exception Detected
java.lang.IllegalArgumentException: board is the wrong size, expected 44x34, got 0x0
at megamek.common.util.BoardUtilities.combine(BoardUtilities.java:66)
at megamek.client.ui.swing.lobby.ChatLounge.getPossibleGameBoard(ChatLounge.java:1159)
at megamek.client.ui.dialogs.BotConfigDialog$TargetsRenderer.getListCellRendererComponent(BotConfigDialog.java:792)
at java.desktop/javax.swing.JList.updateFixedCellSize(Unknown Source)
at java.desktop/javax.swing.JList.setPrototypeCellValue(Unknown Source)
at megamek.client.ui.dialogs.BotConfigDialog.targetsSection(BotConfigDialog.java:335)
at megamek.client.ui.dialogs.BotConfigDialog.princessPanel(BotConfigDialog.java:179)
at megamek.client.ui.dialogs.BotConfigDialog.settingSection(BotConfigDialog.java:161)
at megamek.client.ui.dialogs.BotConfigDialog.createCenterPane(BotConfigDialog.java:155)
at megamek.client.ui.baseComponents.AbstractButtonDialog.initialize(AbstractButtonDialog.java:102)
at megamek.client.ui.dialogs.BotConfigDialog.initialize(BotConfigDialog.java:147)
at megamek.client.ui.dialogs.BotConfigDialog.(BotConfigDialog.java:130)
at megamek.client.ui.swing.lobby.ChatLounge.configAndCreateBot(ChatLounge.java:1938)
at megamek.client.ui.swing.lobby.ChatLounge$6.actionPerformed(ChatLounge.java:1759)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.desktop/java.awt.Component.processEvent(Unknown Source)
at java.desktop/java.awt.Container.processEvent(Unknown Source)
at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)