Client/Server testing

Formerly: Game name that I havent decided yet.
non trek themed game in development.

Moderator: Crook

User avatar
Crook
Posts: 3900
Joined: Thu Nov 02, 2000 1:00 pm
Location: Oxfordshire, UK
Contact:

Client/Server testing

Post by Crook » Fri Jun 01, 2007 4:27 pm

Ok, what I need is some testers for a basic client. All it does is send a message to the server, which sends one back. That's it. But it's a bit tricky to test on my own as I only have my internal network to play with.

I've got a client app that reads the correct IP to send to from the net. And it seems to read the correct external IP for the client (that'd be you). It then sends a message to the server's IP on port 11000.

When the server gets the message it reads which IP it came from, and sends a message back to this IP on port 11001. When your client gets a message on port 11001 it displays this message.

This should work fairly well and be quick as it's UDP - 3x the speed of TCP.

If you're interested in helping with testing this little bit of code then please download the client (attached) and unzip it. I'd like to be able to test this over IM so you can tell me immediately what's working and whats not and I can code in changes and the like. If you just want to test it, then just go ahead and download it and try to send a message.

Instructions:

1 Open it up.
2 Check that it reads an IP on the left (62.56.75.119 it is today). If it reads 'SERVER OFFLINE', then I've set it like that to stop you trying and trying when I haven't got the server running. Even I turn off my PC from time to time.....
3 Check that your external IP is on the right, not an internal network IP. You can check with http://www.whatismyipaddress.com/ if you like.
4 Hit start
5 Type a message to replace 'TEST MESSAGE'
6 Hit send.

My ICQ is 82375941 for IM.



In fact, testing the client at this stage is just to get through a particular program hurdle. Once it can accept messages from the net and know WHO sent it (from the IP), then I can begin some quick work on the actual client to play in. Then in a week or two we should have a playable universe to fly around in and explore. Even a game chat channel as well in the early prototypes, which will be expanded to proper chat in the full game release. I'll need some input on that later.
Attachments
Client_test_v2.zip
(10.04 KiB) Downloaded 67 times

User avatar
Crook
Posts: 3900
Joined: Thu Nov 02, 2000 1:00 pm
Location: Oxfordshire, UK
Contact:

Post by Crook » Sat Jun 02, 2007 3:05 pm

No one up for helping then? Or is this a symptom of dwindling TGU members? If the latter, I'm sure some trekkers can be dragged in from outside to help out. Boost TGU and help this game out in one stroke.

Where do all the trekkers hang out on the net?
<a href="http://www.andrewcrook.co.uk/empire/Empire_home.shtml" target="_blank">Empire - an online multiverse game</a>


<a href="http://www.c-digital-art.co.uk" target="_blank">www.c-digital-art.co.uk</a>
<img src="http://www.andrewcrook.co.uk/images/c-d ... _trans.gif" border="0" alt="" />

User avatar
Texas Ranger
Posts: 2006
Joined: Mon May 28, 2001 12:00 pm
Location: Johnstone, Renfrewshire Scotland
Contact:

Post by Texas Ranger » Sat Jun 02, 2007 5:24 pm

Microsoft unhandled exception :(

clicked continue got passed it ok sent message from at 1716 ish

Code: Select all

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IO.FileNotFoundException: Could not load file or assembly 'Interop.NATUPNPLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
File name: 'Interop.NATUPNPLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
   at GameClientTEST.Form1.Form1_Load(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].



************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.312 (rtmLHS.050727-3100)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
GameClientTEST
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Documents%20and%20Settings/wullie/Desktop/Firefox%20Downloads/Client_test_v2/GameClientTEST.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.312 (rtmLHS.050727-3100)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.312 (rtmLHS.050727-3100)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.312 (rtmLHS.050727-3100)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.312 (rtmLHS.050727-3100)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.312 (rtmLHS.050727-3100)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Configuration
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.312 (rtmLHS.050727-3100)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.312 (rtmLHS.050727-3100)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

User avatar
Kai_Undead_Assassin
Posts: 572
Joined: Mon Apr 02, 2001 12:00 am
Location: Earth
Contact:

Post by Kai_Undead_Assassin » Sat Jun 02, 2007 7:05 pm

I experienced the same problem as Texas Ranger.

User avatar
Crook
Posts: 3900
Joined: Thu Nov 02, 2000 1:00 pm
Location: Oxfordshire, UK
Contact:

Post by Crook » Sat Jun 02, 2007 7:16 pm

Strange, it seems to be missing a library. I wonder if it's a .net 3.0 library and you guys are on 2.0...

Yep, I can replicate the error on my xp virtualmachine. If I can solve it, I know how to solve it for you guys.

Without NATUPNPLib it's not going to do much.
<a href="http://www.andrewcrook.co.uk/empire/Empire_home.shtml" target="_blank">Empire - an online multiverse game</a>


<a href="http://www.c-digital-art.co.uk" target="_blank">www.c-digital-art.co.uk</a>
<img src="http://www.andrewcrook.co.uk/images/c-d ... _trans.gif" border="0" alt="" />

User avatar
Texas Ranger
Posts: 2006
Joined: Mon May 28, 2001 12:00 pm
Location: Johnstone, Renfrewshire Scotland
Contact:

Post by Texas Ranger » Sat Jun 02, 2007 7:56 pm

i am on vista ultimate on the pc thats running the app

also tried on xp sp2 laptop same error

User avatar
Crook
Posts: 3900
Joined: Thu Nov 02, 2000 1:00 pm
Location: Oxfordshire, UK
Contact:

Post by Crook » Sat Jun 02, 2007 9:28 pm

Yep, solved. There was a missing dll from that library. Including it in the base directory of the exe solves it on my VM XP box. With all that in mind I've added the stray dll into the zip and called it client_v3.zip, but all that's new is the new dll.

I thought VB would wrap the dll up in the exe package as it does with other reference libraries, but apparently not for this one. I'm still a novice on the intricacies of the VB platform, I'm just a good basic programmer from the ol days.

Find the zip attached. Should work now and fingers crossed.....

Thanks for popping in every so often to test this out. Without it the game hits a brick wall here if I can't communicate between client and server over the net.

And again if I shut down my PC it'll say 'Server offline', which I'm about to do and go to bed.

Edit: it's back up, 12.25 pm GMT
Attachments
Client_test_v3.zip
(13.05 KiB) Downloaded 62 times

User avatar
Texas Ranger
Posts: 2006
Joined: Mon May 28, 2001 12:00 pm
Location: Johnstone, Renfrewshire Scotland
Contact:

Post by Texas Ranger » Sun Jun 03, 2007 4:51 pm

should i recieve a message?? if so i might need port forwarding on which would restirct it to 1 player behind a nat :(

ps to save coding you IP in have you considered http://www.dyndns.org .. i use it for my teamspeak server works well

User avatar
Crook
Posts: 3900
Joined: Thu Nov 02, 2000 1:00 pm
Location: Oxfordshire, UK
Contact:

Post by Crook » Sun Jun 03, 2007 9:02 pm

Yes you should receive a message, and so should I (if you're implying that you've tried again) which I have not. And yes, it would restrict it to 1 player behind a NAT wall. This might not be so much of a hurdle to get around - I could have the client send the IP return address and IP port, meaning that each client behind a NAT just sends on a different port. I have no idea if this will work in reality and this does sound like you will need some kind of port forwarding for it.

If you've tried it again and I haven't got a message then something is up with it at your end, my end or both. Makes it all the more difficult because it works fine across my internal network.

Yeah, back to drawing board for the coms now.........
<a href="http://www.andrewcrook.co.uk/empire/Empire_home.shtml" target="_blank">Empire - an online multiverse game</a>


<a href="http://www.c-digital-art.co.uk" target="_blank">www.c-digital-art.co.uk</a>
<img src="http://www.andrewcrook.co.uk/images/c-d ... _trans.gif" border="0" alt="" />

User avatar
Crook
Posts: 3900
Joined: Thu Nov 02, 2000 1:00 pm
Location: Oxfordshire, UK
Contact:

Post by Crook » Sun Jun 03, 2007 10:57 pm

Ok, back to the drawing board it is.

Here's a completely new app. It uses TCP instead of UDP and it's in a nice dll wrapper that hopefully makes things easier. Loading it up you should see the standard IP of my server (again read from the net, it's at 62.56.75.119 for now). Then a message to send and a send button. Hopefully this will bounce back a message to you confirming receipt, and I'll get a message on my server here with your IP and the message.

Still the requirements are windows box with .net framework 2.0 installed, preferably 3.0,

Thanks for trying!
Attachments
TCP_test_1.zip
(17.13 KiB) Downloaded 78 times

Locked

Return to “Empire”