multiplayer : black screen when joining a multiplayer game

Problems and solutions for installing or running FreeOrion, including discussion of bugs if needed before posting a bug report on GitHub. For problems building from source, post in Compile.

Moderator: Oberlus

Post Reply
Message
Author
joanc
Space Krill
Posts: 9
Joined: Sat Sep 11, 2010 4:28 am

multiplayer : black screen when joining a multiplayer game

#1 Post by joanc »

Hello,

when I try to join a game, all i got is a black screen.
I start the game, click multiplayer, join localhost, then the freeorion window is completely black.
it doesnt change, disk is not used, cpu is not used. it stays as is until i kill it, or until i kill the server.
(the hosting freeorion is fine and plays ok)

Setup :
debian testing/unstable
using debian package 0.4.7.1-1
freeorion version : v0.4.7.1 [build ???] CMake (yes, questions marks are here in the version string)
also tried with debian package 0.4.6-4, v0.4.6 [build 2016-09-16.49f9123] CMake, same results.
(I always matched the server and the client version)
tried on 2 differents computers, one with nvidia, the other with amd/ati.
In all cases, the client connects tcp to the server on port 12346, sends strings,
and then the freeorion multiplayer client window goes black. no sound, no escape, no nothing.

the problem is repeatable 100%. I can't play multiplayer.

when I try to connect to a host with no freeorion server running, it says 'timed out while attempting to connect to server'.

with the black screen, when I kill the server, it says on the client 'the connection to the server has been lost' and
normal behavior resume (i can browse menus and click items....)


here is some data about the pc with the amd graphic card :
GL_RENDERER = Gallium 0.4 on AMD KABINI (DRM 2.48.0 / 4.9.0-3-amd64, LLVM 3.9.1)
GL_VERSION = 3.0 Mesa 13.0.6
GL_VENDOR = X.Org

00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Kabini [Radeon HD 8330]

tcpflow packet dump, port 12346 :

/usr/bin/tcpflow: new flow flow[127.0.0.1:57100->127.0.0.1:12346]. path: next seq num (nsn):853014343
/usr/bin/tcpflow: process_pkt..............................................................................
/usr/bin/tcpflow: new flow flow[127.0.0.1:12346->127.0.0.1:57100]. path: next seq num (nsn):1601660622
/usr/bin/tcpflow: process_pkt..............................................................................
/usr/bin/tcpflow: process_pkt..............................................................................
127.000.000.001.57100-127.000.000.001.12346: R<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE boost_serialization>
<boost_serialization signature="serialization::archive" version="14">
<player_name>Human_Player</player_name>
<client_type>1</client_type>
<client_version_string>v0.4.6 [build 2016-09-16.49f9123] CMake</client_version_string>
</boost_serialization>


/usr/bin/tcpflow: process_pkt..............................................................................

here is some data about the nividia computer
python 2.7.13-2 is installed
python 3.5.3-1 is installed

client glx vendor string: NVIDIA Corporation
client glx version string: 1.4
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce 8400 GS/PCIe/SSE2
OpenGL core profile version string: 3.3.0 NVIDIA 340.102
OpenGL core profile shading language version string: 3.30 NVIDIA via Cg compiler

Linux 4.9.0-2-amd64 #1 SMP Debian 4.9.18-1 (2017-03-30) x86_64 GNU/Linux


tcp content from : tcpflow -c -i lo 'port 12346'

/usr/bin/tcpflow: process_pkt..............................................................................
::1.54982-::1.12346: E<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE boost_serialization>
<boost_serialization signature="serialization::archive" version="14">
<player_name>Human_Player</player_name>
<client_type>1</client_type>
<client_version_string>v0.4.7.1 [build ???] CMake</client_version_string>
</boost_serialization>


/usr/bin/tcpflow: process_pkt..............................................................................

tcpdump :
23:01:45.845089 IP6 ::1.54996 > ::1.12346: Flags , seq 3673305004, win 43690, options [mss 65476,sackOK,TS val 70080884 ecr 0,nop,wscale 7], length 0
23:01:45.845121 IP6 ::1.12346 > ::1.54996: Flags [S.], seq 2008829774, ack 3673305005, win 43690, options [mss 65476,sackOK,TS val 70080884 ecr 70080884,nop,wscale 7], length 0
23:01:45.845141 IP6 ::1.54996 > ::1.12346: Flags [.], ack 2008829775, win 342, options [nop,nop,TS val 70080884 ecr 70080884], length 0
23:01:45.846647 IP6 ::1.54996 > ::1.12346: Flags [P.], seq 3673305005:3673305348, ack 2008829775, win 342, options [nop,nop,TS val 70080884 ecr 70080884], length 343
23:01:45.846679 IP6 ::1.12346 > ::1.54996: Flags [.], ack 3673305348, win 350, options [nop,nop,TS val 70080884 ecr 70080884], length 0

as we can see, connection is established and not broken.

thanks !

o01eg
Programmer
Posts: 2004
Joined: Sat Dec 10, 2011 5:46 am

Re: multiplayer : black screen when joining a multiplayer ga

#2 Post by o01eg »

How do you host the game before joining?
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-03-15.b3de094.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

joanc
Space Krill
Posts: 9
Joined: Sat Sep 11, 2010 4:28 am

Re: multiplayer : black screen when joining a multiplayer ga

#3 Post by joanc »

here is what i do to start multiplayer (hosting/server) :

start freeorion,
select multiplayer
host new game
press ok
press start game
(and game starts at turn 1)

(i then use another user or another computer to connect to the server)

dbenage-cx
Programmer
Posts: 389
Joined: Sun Feb 14, 2016 12:08 am

Re: multiplayer : black screen when joining a multiplayer ga

#4 Post by dbenage-cx »

Hi joanc,
You will want to connect to the server with each client before clicking Start Game/Ready.
Any content posted should be considered licensed GNU GPL 2.0 and/or CC-BY-SA 3.0 as appropriate.

joanc
Space Krill
Posts: 9
Joined: Sat Sep 11, 2010 4:28 am

Re: multiplayer : black screen when joining a multiplayer ga

#5 Post by joanc »

Hello,

Thanks It works !

It seems to be a serious issue for usability - it should at least print "waiting server to be in 'Multiplayer Setup' screen, right ?

It was very very frustrating and I spent a few hours on it. other multiplayer games have more friendly experience.
I'll ask for a bug fix

feature request : i'd like AI to be added automatically when I load a game, exactly as if I never left it

o01eg
Programmer
Posts: 2004
Joined: Sat Dec 10, 2011 5:46 am

Re: multiplayer : black screen when joining a multiplayer ga

#6 Post by o01eg »

Latest test builds shows error if you try to connect to already started game.

Yes, it's still much work in the multiplayer system to do.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-03-15.b3de094.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

Post Reply