Forum C# Ubuntu/Mono Test

Ubuntu/Mono Test

Postby straley » February 9th, 2011, 10:10 pm

Hi All,

I created a game ID and built the tic-tac-toe Flash demo on my Windows PC as a test. (We'll be using mxmlc on linux down the road, but I didn't want to have too many variables for now.)

I have the latest MonoDevelop Ubuntu package (2.4) and I'm compiling the server-side code with Mono / .NET 3.5. I copied the swf and html files to my Ubuntu machine and I've run them locally in both a browser and in the stand-alone flash player.

Both log me in, let me see the other players in the lobby, but when I create a game, the client stalls at:

Joining game.
Please wait while we connect to the server.


The debug output from MonoDevelop shows that something is happening... although its quite cryptic:

Code: Select all
Loaded assembly: /home/straley/Codebase/dev-scott/Player.IO/Flash/Example - Multiplayer - TicTacToe/Serverside Code/Player.IO Test Server Project/bin/Debug/Test Server.exe
Loaded assembly: /home/straley/Codebase/dev-scott/Player.IO/Flash/Example - Multiplayer - TicTacToe/Serverside Code/Player.IO Test Server Project/bin/Debug/Player.IO Development Server.exe [External]
Loaded assembly: /home/straley/Codebase/dev-scott/Player.IO/Flash/Example - Multiplayer - TicTacToe/Serverside Code/Player.IO Test Server Project/bin/Debug/Player.IO GameLibrary.dll [External]
Loaded assembly: /usr/lib/mono/gac/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll [External]
Loaded assembly: /usr/lib/mono/gac/System/2.0.0.0__b77a5c561934e089/System.dll [External]
Loaded assembly: /usr/lib/mono/gac/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll [External]
Loaded assembly: /usr/lib/mono/gac/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll [External]
Loaded assembly: /usr/lib/mono/gac/Mono.Posix/2.0.0.0__0738eb9f132ed756/Mono.Posix.dll [External]
Loaded assembly: /usr/lib/mono/gac/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll [External]
Loaded assembly: /usr/lib/mono/gac/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll [External]
Thread started:
Thread started:
Thread started:
Thread started:
Thread started:
Loaded assembly: /usr/lib/mono/gac/Mono.Security/2.0.0.0__0738eb9f132ed756/Mono.Security.dll [External]
Thread started:
Thread started:
Thread started:
Thread started:
Thread started:
Thread started:
Thread started:
Loaded assembly: /usr/lib/mono/gac/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll [External]
Thread started:
Loaded assembly: /tmp/tempgame-2c4499e572a2436ea3287f400fa5a1ae.dll
Loaded assembly: __MetadataTypes [External]


At this point the Player.IO Development Server (v2.1.1.0) is up and "waiting for connection"
I start the Flash client, enter a name, and when i create a game, the following lines are added to the Debug output:

Code: Select all
Thread started:
Thread started:
Loaded assembly: __MetadataTypes [External]
Thread started:
Thread started:
Loaded assembly: data-0x7fa1c08ca770


Then I start a second client. I can see the first game. So, I click on Join Game and get no additional Debug output.

If I look online, I don't see any players online in the admin console. But, the admin console does see my development server.

If I netstat, I see this:

Code: Select all
tcp        0      0 127.0.0.1:8184          0.0.0.0:*               LISTEN     
tcp        0      0 192.168.254.2:8184      0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:4505          0.0.0.0:*               LISTEN     
tcp        0      0 192.168.254.2:4505      0.0.0.0:*               LISTEN     


Also, even after all the client activity, the Development Server, still just shows:

Code: Select all
Server Started
========================
(waiting for connection)

Trying last loaded dll

Using Game Dll: TicTacToe.dll
========================
(dll: /home/straley/Dropbox/fullofstars/Codebase/dev-scott/Player.IO/Flash/Example - Multiplayer - TicTacToe/Serverside Code/Player.IO Test Server Project/bin/Debug/TicTacToe.dll)


Any thoughts on what I might be missing?

Thanks,
Scott
straley
 
Posts: 5
Joined: February 8th, 2011, 11:22 pm

Re: Ubuntu/Mono Test

Postby straley » February 9th, 2011, 10:18 pm

Hi,

A few more notes. The client behavior is the same regardless if I am running the Development Server or not. So the lobby must be a player.io server thing. And, I've also tried running the Development Server with sudo. That also failed.

I'm also able to telnet to ports 4505 and 8184 and it connects.

Thanks,
Scott
straley
 
Posts: 5
Joined: February 8th, 2011, 11:22 pm

Re: Ubuntu/Mono Test

Postby straley » February 9th, 2011, 11:11 pm

Hi,

A quick localhost to localhost packet sniff has the client repeatedly asking:
Code: Select all
<policy-file-request/>


It asks for it twice. The server doesn't seem to reply at all.

I'll keep digging.

~ Scott
straley
 
Posts: 5
Joined: February 8th, 2011, 11:22 pm

Re: Ubuntu/Mono Test

Postby straley » February 10th, 2011, 12:06 am

Well, I seem to be having a conversation with myself. :)

I setup Apache to listen on port 843 and deliver this to anyone that connects:

Code: Select all
<cross-domain-policy>
     <allow-access-from domain="*" to-ports="*" />
</cross-domain-policy>


Well, still nothing from the clients. They're still all frozen. But I'm seeing a lot more traffic on the wire, like:

Code: Select all
DWP-HandshakeDWP-Handshake....................@d.....................9.........."mono 2.6.7 (Debian 2.6.7-3ubuntu1)............................................................................................................................................................................................................................
...............................
..............
..........$...............System.Exception..................................T...........System....Exception....System.Exception...................9... .............
..............
......................................@d....................................Q..........BTest Server, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null............................../home/straley/Codebase/dev-scott/Player.IO/Flash/Example - Multiplayer - TicTacToe/Serverside Code/Player.IO Test Server Project/bin/Debug/Test Server.exe...............................@d....................................b..........SPlayer.IO Development Server, Version=2.1.1.0, Culture=neutral, PublicKeyToken=null............................../home/straley/Codebase/dev-scott/Player.IO/Flash/Example - Multiplayer - TicTacToe/Serverside Code/Player.IO Test Server Project/bin/Debug/Player.IO Development


It goes on and on and on...

It looks like lots of class names.

It's not looking good.

~ Scott
straley
 
Posts: 5
Joined: February 8th, 2011, 11:22 pm

Re: Ubuntu/Mono Test

Postby Oliver » February 18th, 2011, 3:13 pm

Sometimes conversing with yourself is fun, but i'm guessing this is not one of those times?

We don't officially support Mono yet, since there's still a ton of issues we need to clear up.

Questions:

"The client behavior is the same regardless if I am running the Development Server or not"
Does this mean that it does not work if you upload the serverside code (.dll) to player.io and make the swf connect to the live servers by removing the .developmentServer property?

Have you tried having the client run on another (windows) machine and connect to your development server over the network?

Does it work in reverse (ubunto=client, windows=dev sever)?

Best,
Oliver
User avatar
Oliver
.IO
 
Posts: 1159
Joined: January 12th, 2010, 8:29 am

Re: Ubuntu/Mono Test

Postby straley » February 18th, 2011, 7:20 pm

Oliver,

Thanks for getting back. I tried a few variations -- but not compiling on a Windows PC. All of our development machines are Linux/Ubuntu, so getting a hold of a Windows OS that we can install things on is limited. We're looking at other options for our server-side implementation. But, would be interested if Mono (or some other form of Linux support) becomes an option in the future.

Thanks,
Scott
straley
 
Posts: 5
Joined: February 8th, 2011, 11:22 pm

Re: Ubuntu/Mono Test

Postby Oliver » February 21st, 2011, 10:03 pm

Hey,

Aiight, thanks for giving us a go.

Out of curiosity, would you use the server if it was console only, and didn't present a nice UI ?

I think a big part of our mono troubles are the Winforms implementation.

- Oliver
User avatar
Oliver
.IO
 
Posts: 1159
Joined: January 12th, 2010, 8:29 am

Re: Ubuntu/Mono Test

Postby cornbreadly » July 1st, 2011, 4:26 am

Hell yes. Command line would be great.
cornbreadly
 
Posts: 1
Joined: July 1st, 2011, 4:20 am


Return to C#



cron