It is currently 26 Apr 2024, 13:13
   
Text Size

How to play Forge Multiplayer on Android (Local)

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

How to play Forge Multiplayer on Android (Local)

Postby kevlahnota » 27 Aug 2019, 04:31

How to play Forge Multiplayer on Android (Local)
Note: Tested device with Android Oreo (server) and Android Pie (client). Older Android versions may not work

    Instructions
    1. Open Hotspot on the 1st Android device to be the server.
    2. Connect the 2nd Android device to the Hotspot (1st Android device).
    3. Take note of the 2nd Android device IP Address (on this video is 192.168.43.85)
    4. IP Address to input on Forge (client, 2nd Android device) will be 192.168.43.1:36743
    5. Open Forge on Both Android devices
    6. Choose Play Online and leave blank and press OK on 1st Android device
    7. Choose Play Online and input the IP (on this video 192.168.43.1:36743) on 2nd Android Device and press OK
    8. You are now connected, Test and report bugs :)
Sample vid:
http://www.youtube.com/watch?v=LPOammEnOEI&t=9s
Image
Last edited by kevlahnota on 27 Aug 2019, 14:14, edited 1 time in total.
User avatar
kevlahnota
Programmer
 
Posts: 825
Joined: 19 Jul 2010, 17:45
Location: Philippines
Has thanked: 14 times
Been thanked: 264 times

Re: How to play Forge Multiplayer on Android (Local)

Postby CptKird » 27 Aug 2019, 09:00

Hi,

thanks for sharing this guide! :D
It would allow to circumvent any firewall/port forwarding issues (in theory), at least for LAN sessions.

I did everything as mentioned, Forge mobile 1.6.27.001 on both devices, Samsung S5 (stock Marshmallow, 6.x) hosting on localhost:36743, Samsung Tab A (stock Nougat, 7.x) with 192.168.43.85 connecting to 192.168.43.1:36743 but have the same negative result as within my WLAN:

I can connect but the client directly disconnects again, see screenshot.

Not sure what's different.. in theory a mobile/personal hotspot would create an independent network..

Anyway, thanks for sharing!! Maybe this helps in other situations!
I'm gonna test this with latest snapshots again. (snapshots only available for main Forge desktop)

All the best
K.

Screenshot_2019-08-27-10-49-20.png
User avatar
CptKird
 
Posts: 182
Joined: 02 Nov 2017, 17:25
Has thanked: 36 times
Been thanked: 29 times

Re: How to play Forge Multiplayer on Android (Local)

Postby kevlahnota » 27 Aug 2019, 10:39

The IP address in the example video may be different from the one you will get on your device. Download an IP monitor widget on your device to help you. In the video I have a widget that shows my local IP. The devices I used in the video both are not rooted, all stock firmware, Huawei Y9 2019 (Android 9.1) and Oppo F7 (Android 8.0)

CptKird wrote:Hi,

thanks for sharing this guide! :D
It would allow to circumvent any firewall/port forwarding issues (in theory), at least for LAN sessions.

I did everything as mentioned, Forge mobile 1.6.27.001 on both devices, Samsung S5 (stock Marshmallow, 6.x) hosting on localhost:36743, Samsung Tab A (stock Nougat, 7.x) with 192.168.43.85 connecting to 192.168.43.1:36743 but have the same negative result as within my WLAN:

I can connect but the client directly disconnects again, see screenshot.

Not sure what's different.. in theory a mobile/personal hotspot would create an independent network..

Anyway, thanks for sharing!! Maybe this helps in other situations!
I'm gonna test this with latest snapshots again. (snapshots only available for main Forge desktop)

All the best
K.

Screenshot_2019-08-27-10-49-20.png
User avatar
kevlahnota
Programmer
 
Posts: 825
Joined: 19 Jul 2010, 17:45
Location: Philippines
Has thanked: 14 times
Been thanked: 264 times

Re: How to play Forge Multiplayer on Android (Local)

Postby CptKird » 27 Aug 2019, 11:57

My experience so far: if there's a mismatch in IP addresses, or network unreachable, the client is forever "Connecting to server".

In my case it is connecting, so, IP adresses are correct, but either the server immediately kicks the client again, or the client disconnects by itself, not sure which/why.

So far, I tried connecting through my home WLAN setup, "Wi-Fi Direct" and mobile/personal hotspot, with and without mobile data active.
(WITH mobile data active, the host displays e.g. 10.22.5.188 for a local game, no change, result-wise).

Personal hotspot was also tested with the 7.x device hosting.
Same result every time. Instant connect/disconnect.

Screenshot_20190827-135046_Forge.png
User avatar
CptKird
 
Posts: 182
Joined: 02 Nov 2017, 17:25
Has thanked: 36 times
Been thanked: 29 times

Re: How to play Forge Multiplayer on Android (Local)

Postby kevlahnota » 27 Aug 2019, 12:15

Ok if you have spare time troubleshooting, try copying all the forge folder from your 1st device to the 2nd device(backup if necessary, remove the existing forge folder of the 2nd device, and paste the forge folder from the 1st device), then install the same apk, then try again. I hope it does work, if not, what it says on forge log?

CptKird wrote:My experience so far: if there's a mismatch in IP addresses, or network unreachable, the client is forever "Connecting to server".

In my case it is connecting, so, IP adresses are correct, but either the server immediately kicks the client again, or the client disconnects by itself, not sure which/why.

So far, I tried connecting through my home WLAN setup, "Wi-Fi Direct" and mobile/personal hotspot, with and without mobile data active.
(WITH mobile data active, the host displays e.g. 10.22.5.188 for a local game, no change, result-wise).

Personal hotspot was also tested with the 7.x device hosting.
Same result every time. Instant connect/disconnect.

Screenshot_20190827-135046_Forge.png
User avatar
kevlahnota
Programmer
 
Posts: 825
Joined: 19 Jul 2010, 17:45
Location: Philippines
Has thanked: 14 times
Been thanked: 264 times

Re: How to play Forge Multiplayer on Android (Local)

Postby CptKird » 27 Aug 2019, 13:09

Got some vacation time, so, I can definately help troubleshoot!

Ok, I made backups on external SD and uninstalled Forge installs and Forge folders (manually, post uninstall) on both devices.

Downloaded 1.6.27.001 on both devices, clean install.

Hosted on the marshmallow device by personal hotspot (without mobile data active), same result, instant connect/disconnect.

Here is the hosts/Marshmallows log:

Code: Select all
(ThreadUtil first call): Running on a machine with 4 cpu core(s)
Language 'java.util.PropertyResourceBundle@273fa2a' loaded successfully.
Read cards: 19131 archived files in 24347 ms (25 parts) using thread pool
Read cards: 363 files in 209 ms (3 parts) using thread pool
log4j:ERROR Could not read configuration file [/storage/emulated/0/Forge//src/main/resources/log4jConfig.config].
java.io.FileNotFoundException: /storage/emulated/0/Forge/src/main/resources/log4jConfig.config: open failed: ENOENT (No such file or directory)
   at libcore.io.IoBridge.open(IoBridge.java:452)
   at java.io.FileInputStream.<init>(FileInputStream.java:76)
   at java.io.FileInputStream.<init>(FileInputStream.java:103)
   at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:1372)
   at forge.net.server.FServerManager.getInstance(FServerManager.java:88)
   at forge.net.NetConnectUtil.host(NetConnectUtil.java:44)
   at forge.screens.online.OnlineLobbyScreen$1$1$1.run(OnlineLobbyScreen.java:61)
   at forge.screens.LoadingOverlay$1$1.run(LoadingOverlay.java:33)
   at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:415)
   at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1648)
   at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1353)
Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
   at libcore.io.Posix.open(Native Method)
   at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
   at libcore.io.IoBridge.open(IoBridge.java:438)
   ... 10 more
log4j:ERROR Ignoring configuration file [/storage/emulated/0/Forge//src/main/resources/log4jConfig.config].
java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.Enumeration java.net.NetworkInterface.getInetAddresses()' on a null object reference
   at forge.net.server.FServerManager.getRoutableAddress(FServerManager.java:224)
   at forge.net.server.FServerManager.getLocalAddress(FServerManager.java:248)
   at forge.net.server.FServerManager.mapNatPort(FServerManager.java:279)
   at forge.net.server.FServerManager.startServer(FServerManager.java:127)
   at forge.net.NetConnectUtil.host(NetConnectUtil.java:48)
   at forge.screens.online.OnlineLobbyScreen$1$1$1.run(OnlineLobbyScreen.java:61)
   at forge.screens.LoadingOverlay$1$1.run(LoadingOverlay.java:33)
   at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:415)
   at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1648)
   at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1353)
java.lang.Error: Unsupported runtime environment, use org.fourthline.cling.android.AndroidUpnpServiceConfiguration
   at org.fourthline.cling.DefaultUpnpServiceConfiguration.<init>(DefaultUpnpServiceConfiguration.java:121)
   at org.fourthline.cling.DefaultUpnpServiceConfiguration.<init>(DefaultUpnpServiceConfiguration.java:112)
   at org.fourthline.cling.DefaultUpnpServiceConfiguration.<init>(DefaultUpnpServiceConfiguration.java:108)
   at org.fourthline.cling.UpnpServiceImpl.<init>(UpnpServiceImpl.java:65)
   at forge.net.server.FServerManager.mapNatPort(FServerManager.java:286)
   at forge.net.server.FServerManager.startServer(FServerManager.java:127)
   at forge.net.NetConnectUtil.host(NetConnectUtil.java:48)
   at forge.screens.online.OnlineLobbyScreen$1$1$1.run(OnlineLobbyScreen.java:61)
   at forge.screens.LoadingOverlay$1$1.run(LoadingOverlay.java:33)
   at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:415)
   at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1648)
   at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1353)
java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.Enumeration java.net.NetworkInterface.getInetAddresses()' on a null object reference
   at forge.net.server.FServerManager.getRoutableAddress(FServerManager.java:224)
   at forge.net.server.FServerManager.getLocalAddress(FServerManager.java:248)
   at forge.net.NetConnectUtil.copyHostedServerUrl(NetConnectUtil.java:108)
   at forge.screens.online.OnlineLobbyScreen$1$1$1$1.run(OnlineLobbyScreen.java:68)
   at java.lang.Thread.run(Thread.java:818)
(HTTPLog)-Static: isSBSettingEnabled false
(HTTPLog)-Static: isSBSettingEnabled false
java.net.UnknownHostException: Unable to resolve host "checkip.amazonaws.com": No address associated with hostname
   at java.net.InetAddress.lookupHostByName(InetAddress.java:470)
   at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
   at java.net.InetAddress.getAllByName(InetAddress.java:215)
   at com.android.okhttp.internal.Network$1.resolveInetAddresses(Network.java:29)
   at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:220)
   at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:176)
   at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:108)
   at com.android.okhttp.internal.http.HttpEngine.createNextConnection(HttpEngine.java:482)
   at com.android.okhttp.internal.http.HttpEngine.nextConnection(HttpEngine.java:465)
   at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:447)
   at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:353)
   at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:476)
   at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:418)
   at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:235)
   at java.net.URL.openStream(URL.java:470)
   at forge.net.server.FServerManager.getExternalAddress(FServerManager.java:261)
   at forge.net.NetConnectUtil.copyHostedServerUrl(NetConnectUtil.java:109)
   at forge.screens.online.OnlineLobbyScreen$1$1$1$1.run(OnlineLobbyScreen.java:68)
   at java.lang.Thread.run(Thread.java:818)
Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
   at libcore.io.Posix.android_getaddrinfo(Native Method)
   at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:55)
   at java.net.InetAddress.lookupHostByName(InetAddress.java:451)
   ... 18 more
Client connected to server at /192.168.43.72:41760
Sending event forge.net.event.LobbyUpdateEvent@76e58d2 to [id: 0x4da65ddb, /192.168.43.72:41760 => /192.168.43.1:36743]
Sending event Mork joined the room to [id: 0x4da65ddb, /192.168.43.72:41760 => /192.168.43.1:36743]
Sending event forge.net.event.LobbyUpdateEvent@379bcd3 to [id: 0x4da65ddb, /192.168.43.72:41760 => /192.168.43.1:36743]
Sending event forge.net.event.LobbyUpdateEvent@d19532f to [id: 0x4da65ddb, /192.168.43.72:41760 => /192.168.43.1:36743]
Sending event forge.net.event.LoginEvent@3df3fe6 to [id: 0x4da65ddb, /192.168.43.72:41760 => /192.168.43.1:36743]
Sending event forge.net.event.LobbyUpdateEvent@c4f7472 to [id: 0x4da65ddb, /192.168.43.72:41760 => /192.168.43.1:36743]
Received: forge.net.event.LoginEvent@3df3fe6
java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)
   at libcore.io.IoBridge.maybeThrowAfterRecvfrom(IoBridge.java:588)
   at libcore.io.IoBridge.recvfrom(IoBridge.java:564)
   at java.nio.SocketChannelImpl.readImpl(SocketChannelImpl.java:342)
   at java.nio.SocketChannelImpl.read(SocketChannelImpl.java:304)
   at io.netty.buffer.UnpooledHeapByteBuf.setBytes(UnpooledHeapByteBuf.java:256)
   at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:881)
   at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:225)
   at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:119)
   at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
   at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:3430)
   at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
   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:818)
Caused by: android.system.ErrnoException: recvfrom failed: ECONNRESET (Connection reset by peer)
   at libcore.io.Posix.recvfromBytes(Native Method)
   at libcore.io.Posix.recvfrom(Posix.java:181)
   at libcore.io.BlockGuardOs.recvfrom(BlockGuardOs.java:245)
   at libcore.io.IoBridge.recvfrom(IoBridge.java:561)
   ... 12 more
EDT > java.lang.IllegalStateException: VM already shutting down
   at java.lang.Runtime.removeShutdownHook(Runtime.java:601)
   at forge.net.server.FServerManager.stopServer(FServerManager.java:146)
   at forge.net.server.FServerManager.stopServer(FServerManager.java:136)
   at forge.net.server.FServerManager$3.run(FServerManager.java:123)
   at java.lang.Thread.run(Thread.java:818)
Here is the clients/Nougats log:

Code: Select all
(ThreadUtil first call): Running on a machine with 8 cpu core(s)
(HTTPLog)-Static: isSBSettingEnabled false
(HTTPLog)-Static: isSBSettingEnabled false
java.util.concurrent.ExecutionException: java.net.UnknownHostException: Unable to resolve host "releases.cardforge.org": No address associated with hostname
   at java.util.concurrent.FutureTask.report(FutureTask.java:123)
   at java.util.concurrent.FutureTask.get(FutureTask.java:207)
   at forge.util.ThreadUtil.executeWithTimeout(ThreadUtil.java:54)
   at forge.util.FileUtil.readFile(FileUtil.java:291)
   at forge.util.FileUtil.readFileToString(FileUtil.java:286)
   at forge.assets.AssetsDownloader.checkForUpdates(AssetsDownloader.java:37)
   at forge.Forge$1.run(Forge.java:92)
   at java.lang.Thread.run(Thread.java:764)
Caused by: java.net.UnknownHostException: Unable to resolve host "releases.cardforge.org": No address associated with hostname
   at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:141)
   at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:90)
   at java.net.InetAddress.getAllByName(InetAddress.java:787)
   at com.android.okhttp.Dns$1.lookup(Dns.java:39)
   at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:197)
   at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:145)
   at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:90)
   at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:190)
   at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:142)
   at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:104)
   at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:392)
   at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:325)
   at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:489)
   at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:435)
   at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:248)
   at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getInputStream(DelegatingHttpsURLConnection.java:210)
   at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getInputStream(Unknown Source:0)
   at java.net.URL.openStream(URL.java:1058)
   at forge.util.FileUtil$1.call(FileUtil.java:294)
   at forge.util.FileUtil$1.call(FileUtil.java:291)
   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
   ... 1 more
Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
   at libcore.io.Linux.android_getaddrinfo(Native Method)
   at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:59)
   at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:122)
   ... 23 more
Language 'java.util.PropertyResourceBundle@c3ea54e' loaded successfully.
Read cards: 19131 archived files in 5063 ms (25 parts) using thread pool
Read cards: 363 files in 115 ms (3 parts) using thread pool
io.netty.handler.codec.DecoderException: java.io.StreamCorruptedException: invalid type code: 00
   at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:299)
   at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:168)
   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)
   at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294)
   at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846)
   at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:130)
   at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
   at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:2468)
   at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
   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:764)
Caused by: java.io.StreamCorruptedException: invalid type code: 00
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1381)
   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2003)
   at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:504)
   at java.util.TreeMap.readObject(TreeMap.java:2505)
   at java.lang.reflect.Method.invoke(Native Method)
   at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1006)
   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1903)
   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1804)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1354)
   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2003)
   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1927)
   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1804)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1354)
   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2003)
   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1927)
   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1804)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1354)
   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:374)
   at java.util.ArrayList.readObject(ArrayList.java:791)
   at java.lang.reflect.Method.invoke(Native Method)
   at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1006)
   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1903)
   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1804)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1354)
   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2003)
   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1927)
   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1804)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1354)
   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2003)
   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1927)
   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1804)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1354)
   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:374)
   at io.netty.handler.codec.serialization.ObjectDecoder.decode(ObjectDecoder.java:75)
   at io.netty.handler.codec.LengthFieldBasedFrameDecoder.decode(LengthFieldBasedFrameDecoder.java:343)
   at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:268)
   ... 11 more
java.lang.IllegalStateException: forge.FThreads.assertExecutedByEdt may not be accessed from the event dispatch thread.
   at forge.FThreads.assertExecutedByEdt(FThreads.java:20)
   at forge.util.WaitCallback.invokeAndWait(WaitCallback.java:22)
   at forge.GuiMobile.showOptionDialog(GuiMobile.java:169)
   at forge.util.gui.SOptionPane.showOptionDialog(SOptionPane.java:63)
   at forge.util.gui.SOptionPane.showMessageDialog(SOptionPane.java:33)
   at forge.net.NetConnectUtil$5.close(NetConnectUtil.java:148)
   at forge.net.client.FGameClient$LobbyUpdateHandler.channelInactive(FGameClient.java:150)
   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:208)
   at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:194)
   at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:75)
   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:208)
   at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:194)
   at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:247)
   at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:208)
   at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:194)
   at io.netty.channel.AbstractChannel$AbstractUnsafe$5.run(AbstractChannel.java:1828)
   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:764)
Hope that helps and thanks for checking it out!

All the best
Cpt. Kird
User avatar
CptKird
 
Posts: 182
Joined: 02 Nov 2017, 17:25
Has thanked: 36 times
Been thanked: 29 times

Re: How to play Forge Multiplayer on Android (Local)

Postby 1mrlee » 27 Aug 2019, 14:50

I'm also getting the connecting to server error forever.

any suggestions on how to get around this?
1mrlee
 
Posts: 42
Joined: 07 Oct 2015, 00:34
Has thanked: 0 time
Been thanked: 4 times

Re: How to play Forge Multiplayer on Android (Local)

Postby CptKird » 27 Aug 2019, 15:19

That usually means that the other network is unreachable, so it must be a typo in the IP address(es) or simply the wrong address?
If you tried the personal hotspot guide above, it's definately 192.168.43.1:36743 for the client, when host = hotspot, at least on my Samsung devices.

BUT: kevlahnota got this working with an as of yet unreleased Android snapshot, if I understood correctly. He said on discord:
"The one im using in the video is the latest "android snapshot" with oathbreaker stuff, but ill try testing it on older Android (Marshmallow)"

and:

"Not yet, better wait for the release, I just tested it with older Android Marshmallow device and the one you posted on the forums are the same logs im getting, and I cannot connect to Android 6 and it cannot find the newer Android (pie on mine)"

So, latest official Forge for Android seems to still have some issues regarding LAN sessions.
User avatar
CptKird
 
Posts: 182
Joined: 02 Nov 2017, 17:25
Has thanked: 36 times
Been thanked: 29 times

Re: How to play Forge Multiplayer on Android (Local)

Postby JumJum » 01 Apr 2020, 21:21

Hi
I have 2 android devices: 8.1 and 8.0
And on both devices,i have the same error - "null left the room"
Can you help me with my problem?
JumJum
 
Posts: 4
Joined: 30 Mar 2020, 21:38
Has thanked: 0 time
Been thanked: 0 time

Re: How to play Forge Multiplayer on Android (Local)

Postby CptKird » 02 Apr 2020, 09:02

Hi,

Did you check this guide to see if there's maybe a principal problem in your setup?

https://www.slightlymagic.net/wiki/Forge_New_User_Guide#Network_Play

Also: Do both Android devices have the same Forge version running?

Please post your Forge.logs of both server and client (hosting and joining) devices, located in Forge/data/Forge.log on internal storage, thanks.

Does this happen when you try personal hotspot/WiFi-Direct?

We need way more info than you provided to have any kind of idea what might go wrong there ;)

K.
User avatar
CptKird
 
Posts: 182
Joined: 02 Nov 2017, 17:25
Has thanked: 36 times
Been thanked: 29 times

Re: How to play Forge Multiplayer on Android (Local)

Postby JumJum » 02 Apr 2020, 13:06

Here's the files
1. Tried both hotspot and Wi-fi Direct,same result
2. Both devices have the 1.6.33.001 version
Attachments
forge.log
Server one
(4.19 KiB) Downloaded 208 times
forge.log
Client one
(57.69 KiB) Downloaded 201 times
JumJum
 
Posts: 4
Joined: 30 Mar 2020, 21:38
Has thanked: 0 time
Been thanked: 0 time

Re: How to play Forge Multiplayer on Android (Local)

Postby CptKird » 02 Apr 2020, 18:16

Thank you!

The server log shows some strange message, regarding network part of Forge.
I'm currently asking in the dev channel.

Did you try to switch devices as server already?
K.
User avatar
CptKird
 
Posts: 182
Joined: 02 Nov 2017, 17:25
Has thanked: 36 times
Been thanked: 29 times

Re: How to play Forge Multiplayer on Android (Local)

Postby JumJum » 02 Apr 2020, 19:13

Yes, switched the host device with client device.Same
And thank you for taking your time and trying to help me,really appreciate that :>
JumJum
 
Posts: 4
Joined: 30 Mar 2020, 21:38
Has thanked: 0 time
Been thanked: 0 time

Re: How to play Forge Multiplayer on Android (Local)

Postby kevlahnota » 03 Apr 2020, 05:49

JumJum wrote:Yes, switched the host device with client device.Same
And thank you for taking your time and trying to help me,really appreciate that :>
thanks for report, Im gonna PM you for the Snapshot build if you like to test them if it works for you.
User avatar
kevlahnota
Programmer
 
Posts: 825
Joined: 19 Jul 2010, 17:45
Location: Philippines
Has thanked: 14 times
Been thanked: 264 times


Return to Forge

Who is online

Users browsing this forum: No registered users and 156 guests


Who is online

In total there are 156 users online :: 0 registered, 0 hidden and 156 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 156 guests

Login Form