Re: Forge version 1.5.37
Posted: 14 Mar 2015, 13:23
by Hellfish
Well, holy balls. This is amazing and terrifying at the same time Couple of quick things:
1.Being able to connect between two local Forge instances would ease testing but I get an exception:
3.The chat remains even after I close out of the lobby. Can't test if it's still connected because of point 1 but still.
Fake edit: If I make the port fields editable and use a nonzero port I can connect between two local instances.
1.Being able to connect between two local Forge instances would ease testing but I get an exception:
- PrivilegedActionException | Open
- Code: Select all
Forge Version: SVN
Operating System: Windows 8.1 6.3 x86
Java Version: 1.8.0_40 Oracle Corporation
java.security.PrivilegedActionException: java.security.PrivilegedActionException: java.net.SocketException: Cannot assign requested address: connect: localhost/127.0.0.1:0
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:721)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.security.PrivilegedActionException: java.net.SocketException: Cannot assign requested address: connect: localhost/127.0.0.1:0
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:724)
at java.awt.EventQueue$4.run(EventQueue.java:722)
... 9 more
Caused by: java.net.SocketException: Cannot assign requested address: connect: localhost/127.0.0.1:0
at sun.nio.ch.Net.connect0(Native Method)
at sun.nio.ch.Net.connect(Net.java:458)
at sun.nio.ch.Net.connect(Net.java:450)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:648)
at io.netty.channel.socket.nio.NioSocketChannel.doConnect(NioSocketChannel.java:193)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.connect(AbstractNioChannel.java:199)
at io.netty.channel.DefaultChannelPipeline$HeadContext.connect(DefaultChannelPipeline.java:1088)
at io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:471)
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:456)
at io.netty.channel.ChannelOutboundHandlerAdapter.connect(ChannelOutboundHandlerAdapter.java:47)
at io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:471)
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:456)
at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:438)
at io.netty.channel.DefaultChannelPipeline.connect(DefaultChannelPipeline.java:908)
at io.netty.channel.AbstractChannel.connect(AbstractChannel.java:202)
at io.netty.bootstrap.Bootstrap$2.run(Bootstrap.java:165)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:380)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
at java.lang.Thread.run(Thread.java:745)
3.The chat remains even after I close out of the lobby. Can't test if it's still connected because of point 1 but still.
Fake edit: If I make the port fields editable and use a nonzero port I can connect between two local instances.
- Stream of consciousness notes | Open
- *As for point three, the chat does stay connected, the instance that closes out still gets chat messages.
*The host didn't get the join message once so far, the joiner did get it.
*If I add an AI player, the joiner can change it's team, but it doesn't show for the host. If the host changes it, it's updated for the joiner.
*If I add an AI player, then change it's slot back to Open, the joiner disappears and the AI player takes it's slot, while the last slot turns Open.Seems like the joiners avatar and name just gets overwritten by the AI's.
*Joiner seems unable to change avatar.
*Started the game after getting the joiner overwritten, the game only starts for the host. Joiner is still in lobby, only recieves chat messages. Turns out the player that actually got in the game was an AI.
*Started a match without adding an AI, joiner is getting double chat messages.
*Joiner doesn't get "Waiting for opponent" while host chooses wether to play or draw.
*Had to rearrange the layout for the joiner, as it started with it's fields on the top of the window and the hand as a tab instead of an open field. (if that makes sense)
*Closed match for host, joiner gets no message about that, now gets correct non-doubled chat messages.
*Tried to host again on same instance, got exception- Code: Select all
Forge Version: SVN
Operating System: Windows 8.1 6.3 x86
Java Version: 1.8.0_40 Oracle Corporation
java.security.PrivilegedActionException: java.security.PrivilegedActionException: java.net.BindException: Address already in use: bind
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:721)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.security.PrivilegedActionException: java.net.BindException: Address already in use: bind
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:724)
at java.awt.EventQueue$4.run(EventQueue.java:722)
... 9 more
Caused by: java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:437)
at sun.nio.ch.Net.bind(Net.java:429)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:125)
at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:484)
at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1080)
at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:430)
at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:415)
at io.netty.channel.ChannelDuplexHandler.bind(ChannelDuplexHandler.java:38)
at io.netty.handler.logging.LoggingHandler.bind(LoggingHandler.java:240)
at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:430)
at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:415)
at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:903)
at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:197)
at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:350)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:380)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
at java.lang.Thread.run(Thread.java:745)
*If the host hosts another lobby, and the joiner chats in the old chat, the host gets the message anyway.
*Started the game with a third,AI, player.Got into the match layout but neither host nor joiner gets a prompt and can't do anythingNvm, got a mulligan prompt for the host at last, AI was going first.Joiner gets double chat messages again.Layout is weird again.
*Just noticed, shortcut keys like E for end turn is triggered while typing in chat.Joiner is seeing double of his own chat messages too.
*If another player closes out while you have priority, game (naturally) gets stuck waiting for opponent once you pass priority.
*Not sure what happened here of if it's even related to online play, but I got an exception with Forge in the background while typing up the previous point:- Code: Select all
Forge Version: SVN
Operating System: Windows 8.1 6.3 x86
Java Version: 1.8.0_40 Oracle Corporation
java.lang.NullPointerException
at forge.net.NetGuiGame.isUiSetToSkipPhase(NetGuiGame.java:305)
at forge.player.PlayerControllerHuman.chooseSpellAbilityToPlay(PlayerControllerHuman.java:866)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:917)
at forge.game.GameAction.startGame(GameAction.java:1390)
at forge.game.Match.startGame(Match.java:96)
at forge.match.HostedMatch$2.run(HostedMatch.java:227)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)