Cross-platform multiplayer networking iOS, Android and PC not working

Hi,

I can’t seem to get cross-platform working using local LAN with blueprints. My goal is to have PC setup as a dedicated server then iOS and Android as clients communicate with each other via PC. I have tried many suggested solutions provided in the forum but so far no luck. The solutions that I have tried for Android (client) and PC (server):

  1. [OnlineSubsystem] DefaultPlatformService=Null - some people claim that this works for them but it didn’t work for me
  2. Use console connect directly to server ip address e.g “open {ip address}” this didn’t work
  3. In the log I saw “userId=Invalid”, I added this “[ConsoleVariables] net.IgnorePackageMismatch=1” in DefaultEngine.ini, now I get proper userId but that still didn’t solve the issue
  4. I added “android.permission.INTERNET, android.permission.ACCESS_NETWORK_STATE, android.permission.ACCESS_WIFI_STATE” in extra permissions in Android but that didn’t work
  5. I turned off firewall and anti virus in PC still no good
  6. I checked my router to make sure firewall is turned off, Android and PC are on the same wifi but still no good
  7. I also tried to use Steam (modified DefaultEngine.ini) and turned off “Use LAN” in blueprint but that doesn’t work

[OnlineSubsystem]
DefaultPlatformService=Steam
PollingIntervalInMs=20

[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
GameServerQueryPort=27015
bRelaunchInSteam=false
GameVersion=1.0.0.0
bVACEnabled=1
bAllowP2PPacketRelay=true
P2PConnectionTimeout=90

From the log i can see the android phone (Samsung S6 Edge) is exchanging IP address with PC but that’s it. I have no idea what’s going on, can you please help. I’ve attached simple project as well

https://s3-us-west-2.amazonaws.com/lenspublic/installers/SimpleNetworking.zip

LOG

LogOnline: Verbose: Listening for LAN beacon requests on 14001
LogNet: Browse: /Game/ThirdPersonBP/Maps/ThirdPersonExampleMap?listen
LogLoad: LoadMap: /Game/ThirdPersonBP/Maps/ThirdPersonExampleMap?listen
LogNet: World NetDriver shutdown IpNetDriver_46 [GameNetDriver]
LogNet: DestroyNamedNetDriver IpNetDriver_46 [GameNetDriver]
LogNet: UNetConnection::Close: [UNetConnection] RemoteAddr: 127.0.0.1:17777, Name: IpConnection_72, Driver: GameNetDriver IpNetDriver_46, IsServer: NO, PC: PlayerController_1, Owner: PlayerController_1, Channels: 9, Time: 2017.11.03-05.15.57
LogNet: UChannel::Close: Sending CloseBunch. ChIndex == 0. Name: [UChannel] ChIndex: 0, Closing: 0 [UNetConnection] RemoteAddr: 127.0.0.1:17777, Name: IpConnection_72, Driver: GameNetDriver IpNetDriver_46, IsServer: NO, PC: PlayerController_1, Owner: PlayerController_1
LogExit: GameNetDriver IpNetDriver_46 shut down
LogAIModule: Creating AISystem for world ThirdPersonExampleMap
LogLoad: Game class is ‘ThirdPersonGameMode_C’
LogTemp: Display: ParseSettings for GameNetDriver
LogTemp: Display: ParseSettings for IpNetDriver_48
LogTemp: Display: ParseSettings for GameNetDriver
LogInit: WinSock: Socket queue 131072 / 131072
PacketHandlerLog: Loaded PacketHandler component: Engine.EngineHandlerComponentFactory (StatelessConnectHandlerComponent)
LogNet: GameNetDriver IpNetDriver_48 IpNetDriver listening on port 7777
LogWorld: Bringing World /Game/ThirdPersonBP/Maps/UEDPIE_2_ThirdPersonExampleMap.ThirdPersonExampleMap up for play (max tick rate 0) at 2017.11.03-16.15.58
LogWorld: Bringing up level for play took: 0.002765
LogLoad: Took 0.384316 seconds to LoadMap(/Game/ThirdPersonBP/Maps/ThirdPersonExampleMap)
LogNet: UChannel::ReceivedSequencedBunch: Bunch.bClose == true. ChIndex == 0. Calling ConditionalCleanUp.
LogNet: UChannel::CleanUp: ChIndex == 0. Closing connection. [UChannel] ChIndex: 0, Closing: 0 [UNetConnection] RemoteAddr: 127.0.0.1:58496, Name: IpConnection_74, Driver: GameNetDriver IpNetDriver_45, IsServer: YES, PC: PlayerController_0, Owner: PlayerController_0
LogNet: UNetConnection::Close: [UNetConnection] RemoteAddr: 127.0.0.1:58496, Name: IpConnection_74, Driver: GameNetDriver IpNetDriver_45, IsServer: YES, PC: PlayerController_0, Owner: PlayerController_0, Channels: 9, Time: 2017.11.03-05.15.58
LogNet: UChannel::Close: Sending CloseBunch. ChIndex == 0. Name: [UChannel] ChIndex: 0, Closing: 0 [UNetConnection] RemoteAddr: 127.0.0.1:58496, Name: IpConnection_74, Driver: GameNetDriver IpNetDriver_45, IsServer: YES, PC: PlayerController_0, Owner: PlayerController_0
LogOnline: Warning: OSS: No game present to leave for session (GameSession)
LogOnline: Warning: OSS: No game present to leave for session (GameSession)
LogOnline: Verbose: Received 16 bytes from 192.168.1.16:14001
LogOnline: Verbose: Sending 198 bytes to 255.255.255.255:14001
LogOnline: Verbose: Received 198 bytes from 192.168.1.12:14001

screenshot.jpg

Fixed it. It’s now working on Android and iOS

Awesome! Could you say how you solved this problem?

do you have any information and thank you

Please tell us how you fixed it! My project used to work for this LAN crossplay but now it won’t and maybe your fix will work for me, too!