Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Program Announcements / Multisync v1.0 - Multiplayer plugin

Author
Message
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 3rd Feb 2007 16:48 Edited at: 22nd Mar 2009 19:42
Update 1.4.1 - 10th April, 2008
A few bugs have been fixed, the most important one being the one that was causing random crashes for some people. Added new net put memblock and net get memblock commands, as well as functions NetPutData and NetGetData for DBC/DarkGDK users. Added new option to define the size of the write buffer.

Update 1.3.2 - 28th February, 2008
Disabled what is known as the Nagle algorithm. This will make the networking more responsive when sending repeatedly at a rapid rate, thus making it more suitable for faster paced games.

Update 1.3 - 18th December, 2007
A problem with the message processing routine has been fixed, and a version has been compiled to be used from C++ and other languages. An optional IP address parameter has been added to net host.

Update 1.2 - 11th April, 2007
Commands have been added to deal with Windows Firewall. Note that you can only add applications to the allow list when running from an administrator account.

Update 1.1 - 14th February, 2007
The plugin is now compatible with DarkBASIC Classic Enhanced, and three new commands have been added. Other minor changes have been made.

Multisync
Multisync is a multiplayer plugin designed for DarkBASIC Professional, utilizing the TCP protocol and the client/server networking model. It is best used in games where it is important that data isn't lost, as the TCP protocol makes sure data is always delivered to its recipient. This means that the range of games it is useful for is large, ranging from simple card games to complex RTS games. It is very easy to use, and requires minimum networking knowledge.

Features:
Windows Firewall integration.
Easy client/server setup.
Easily manageable client ID's.
Supports most standard datatypes: byte, word, long(dword), integer, float, string.
Informative error reporting.
Stable and robust.

Download
The latest version (1.4.1) is available from here.

Older versions
Version 1.3.2 is available from here.

Online manual
An online version of the manual can be found here (version 1.2). Thanks to Slooper for hosting the manual and the software itself (his site).

Changelog
+ Code Snippet

Attachments

Login to view attachments
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 3rd Feb 2007 16:52 Edited at: 3rd Feb 2007 17:18
Zombies is a simple multiplayer FPS game created by Carlos Wilkes (Darkcoder) using Multisync V1 for networking.





You can download the source for it it from here.

Tempest - P2P UDP Multiplayer Plugin (DBP/DBCe)
Download the free version

Attachments

Login to view attachments
Kohaku
13
Years of Service
User Offline
Joined: 3rd May 2004
Location: The not very United Kingdom
Posted: 3rd Feb 2007 16:56
omcz omcz omcz. I'll be adding this to age baby tonight.. baby!


You are not alone.
Silvester
11
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 3rd Feb 2007 17:14
Nice Ben,I will try setting up a server with this plugin!

-Prince Of Darkness
heartbone
14
Years of Service
User Offline
Joined: 9th Nov 2002
Location:
Posted: 3rd Feb 2007 17:39
"You've come a long way baby."

Congratulations.

I havn't read the EULA (I don't have a rar decompressor installed yet), so I don't know how restrictive it is. However I do intend to use this 'in the future'.

Thanks in advance.

I'm unique, just like everybody else.
Silvester
11
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 3rd Feb 2007 18:38 Edited at: 3rd Feb 2007 18:40
Heres a simple chat server:

+ Code Snippet

And here is the client :

+ Code Snippet

Hope you have fun

-Prince Of Darkness
jasonhtml
13
Years of Service
User Offline
Joined: 20th Mar 2004
Location: OC, California, USA
Posted: 3rd Feb 2007 18:42
WOOHOO! It's finally here!

Silvester
11
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 3rd Feb 2007 20:16
There is one bug,

If a player logs of,that number will not be available anymore.so after a while the server is full without having the limit of people actualy playing.

And i noticed that if you set the Player limit above 9999 that it crashes.

-Prince Of Darkness
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 3rd Feb 2007 21:50
Quote: ""You've come a long way baby."

Congratulations."

Thank you.

Quote: "I havn't read the EULA (I don't have a rar decompressor installed yet), so I don't know how restrictive it is."


+ Code Snippet

Quote: "
If a player logs of,that number will not be available anymore.so after a while the server is full without having the limit of people actualy playing."

It's not a bug - when a player leaves, their ID is unavailable for reuse until you call net player left.

Quote: "And i noticed that if you set the Player limit above 9999 that it crashes."

Could you post some code? That doesn't happen here. I will however impose a limit at some point.

Tempest (DBP/DBCe)
Multisync V1 (DBP)
Silvester
11
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 3rd Feb 2007 21:52
This is my new Server fot he chat example i made,it crashes when limit is set to 9999

+ Code Snippet

Could be my PC too,as it isnt realy new.

-Prince Of Darkness
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 3rd Feb 2007 22:04
It doesn't crash for me. What exactly do you mean crash, does it just close?

Tempest (DBP/DBCe)
Multisync V1 (DBP)
Silvester
11
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 3rd Feb 2007 22:05 Edited at: 3rd Feb 2007 22:08
OK,it crashes with no error,and sometimes it tells that it cant connect to the server?

I think its my PC then.

-Prince Of Darkness
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 3rd Feb 2007 22:12
Quote: "OK,it crashes with no error,and sometimes it tells that it cant connect to the server?"

So why have you given me the server code if it's the client that crashes? Or is it the server that crashes?

Tempest (DBP/DBCe)
Multisync V1 (DBP)
heartbone
14
Years of Service
User Offline
Joined: 9th Nov 2002
Location:
Posted: 3rd Feb 2007 23:47
THANK YOU, Benjamin.

I'm unique, just like everybody else.
GatorHex
12
Years of Service
User Offline
Joined: 5th Apr 2005
Location: Gunchester, UK
Posted: 4th Feb 2007 03:18 Edited at: 4th Feb 2007 04:15
Wow realy BIG THANK YOU!!

TCG should pay you for this, i would have dumped this language if it wasn't for you!

I think you should put in the the ELUA a paypal donation link so if anyone makes a network game that makes money they can send you something, I know I will!

MINOR NIGGLES
- Would be nice if help file can be viewed in DBP help.
- Using the help file you had, I didn't know if a command needed brakets or not until i used it and saw the IDE throw back an error.
- I think you should warn users nothing will work until you run "net player joined()" on the server end. Confused the hell out of me for an hour or so and "net player left()" is just as important for cleaning up.

http://www.KumKie.com http://bulldog.servegame.com
3D Coding
10
Years of Service
User Offline
Joined: 15th Jan 2007
Location: My 3D Spaceship
Posted: 4th Feb 2007 04:10
I echo the paypal link idea. If I can get this working for my game to remote host, I'd be glad to send a few $ your way.

MEGA EMPIRES III(c)Soltronics 2007 ---- A DarkBASIC Professional 3D Interstellar Conquest Project
http://me3.artofwarcentral.com/index.html <---- Come check out our BETA modules opening very soon
3D Coding
10
Years of Service
User Offline
Joined: 15th Jan 2007
Location: My 3D Spaceship
Posted: 4th Feb 2007 04:54
The warning about 'deleting critical files' is kind of alarming.
I'm still new to this and I'm old fashioned and like the OPEN FILE AS etc.

Am I right that all the DBPRO multiuser commands will work with this also?

If I can get my poor old noggin to understand sending string$ back and forth from a remote host to multiple clients I just might be in business.

MEGA EMPIRES III(c)Soltronics 2007 ---- A DarkBASIC Professional 3D Interstellar Conquest Project
http://me3.artofwarcentral.com/index.html <---- Come check out our BETA modules opening very soon
3D Coding
10
Years of Service
User Offline
Joined: 15th Jan 2007
Location: My 3D Spaceship
Posted: 4th Feb 2007 05:16
Sorry to clog up the works with so many messages.

This really looks great!

I beg for an example of how to use NET PLAYER FROM to organize data.

My idea is to have the client ask name & password, connect to server(host), log in with the name/pass, and then have the host send the player his colony data.

Can you please tell me how to integrate NET PLAYER FROM with name/password?

MEGA EMPIRES III(c)Soltronics 2007 ---- A DarkBASIC Professional 3D Interstellar Conquest Project
http://me3.artofwarcentral.com/index.html <---- Come check out our BETA modules opening very soon
GatorHex
12
Years of Service
User Offline
Joined: 5th Apr 2005
Location: Gunchester, UK
Posted: 4th Feb 2007 05:37 Edited at: 4th Feb 2007 05:53
3D Coding, for an example have you looked at the Zombie game he gave you a link to in this thread? I contains full source code.

Benjamin is MultiSync using TCP or UDP? I've not managed a connection through NAT yet I've only seen 1.0.0.0 requests like standard DBP networking.

I've opened a MultiSync test server on 81.174.154.100 port 8181, its sending out a net string every 1 second. Can anyone connect to it? http://forum.thegamecreators.com/?m=forum_view&t=99234&b=1

http://www.KumKie.com http://bulldog.servegame.com
Kohaku
13
Years of Service
User Offline
Joined: 3rd May 2004
Location: The not very United Kingdom
Posted: 4th Feb 2007 06:14
I get a 'connection failed' error when I try to connect to you with your client source.

The top post states that MS uses TCP.

So, the integration of MS into AGE is pretty much complete. I have to say that it's been a pleasure to use. It's a great improvement over the last version and I can't wait to work with it some more. As network editing is now working perfectly in AGE, I think tomorrow (though it's already 5am) will see the release of AGE 0.5.

Top stuff.


You are not alone.
Silvester
11
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 4th Feb 2007 10:49
It is the server that crashes then Ben,the server crashes if its set to 99999,any other number seems to work now.

-Prince Of Darkness
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 4th Feb 2007 13:37 Edited at: 12th Dec 2008 23:44
Quote: "I think you should put in the the ELUA a paypal donation link so if anyone makes a network game that makes money they can send you something, I know I will!"

Quote: "I echo the paypal link idea. If I can get this working for my game to remote host, I'd be glad to send a few $ your way."

Heh thanks, but if you want to help, buy the commercial plugin I shall release sometime in the near future.

Quote: "- Would be nice if help file can be viewed in DBP help."

I was thinking this. In fact, I tried linking each command to its relevant section in the manual at some point, but due to the DBP help viewer not supporting CSS (I believe this is the case, anyway), everything looked rather messed up.

Quote: "- Using the help file you had, I didn't know if a command needed brakets or not until i used it and saw the IDE throw back an error."

I thought this may happen, but it can only happen when you don't return a value from a command that you should.

Quote: "- I think you should warn users nothing will work until you run "net player joined()" on the server end. Confused the hell out of me for an hour or so and "net player left()" is just as important for cleaning up."

I thought I had mentioned this in the manual already, although apparently not. I'll fix it right away.

Quote: "The warning about 'deleting critical files' is kind of alarming."

The was only possible in that example because of the way it worked.

Quote: "Am I right that all the DBPRO multiuser commands will work with this also?"

If you mean the built-in DBP multiplayer commands, no.

Quote: "I beg for an example of how to use NET PLAYER FROM to organize data."

You can use it to directly reference an array. For example:

+ Code Snippet

Quote: "Benjamin is MultiSync using TCP or UDP? I've not managed a connection through NAT yet I've only seen 1.0.0.0 requests like standard DBP networking."

TCP, as mentioned in the manual and in the first post of this thread. I forgot to mention that the default port is 3999, so if you want to accept connections from behind a router, you must forward data for this port to your computer (or change the default port to one you already forwarded).

Quote: "So, the integration of MS into AGE is pretty much complete."

Great!

Quote: "It is the server that crashes then Ben,the server crashes if its set to 99999,any other number seems to work now."

Well, one hundred thousand connections is quite a lot, so I'm not surprised. I think I'll set a limit at 9999 players.

Attachments

Login to view attachments
Silvester
11
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 4th Feb 2007 13:42
Yes its much,and well,now that everything works as its designed to do,9999 players are alot too.but its enough for a multiplayer plugin.as its not an MMO plugin

-Prince Of Darkness
GatorHex
12
Years of Service
User Offline
Joined: 5th Apr 2005
Location: Gunchester, UK
Posted: 4th Feb 2007 16:11
Quote: "
Quote: "Benjamin is MultiSync using TCP or UDP? I've not managed a connection through NAT yet I've only seen 1.0.0.0 requests like standard DBP networking."
TCP, as mentioned in the manual and in the first post of this thread. I forgot to mention that the default port is 3999, so if you want to accept connections from behind a router, you must forward data for this port to your computer (or change the default port to one you already forwarded).
"


Am I doing it wrong? I tried to use the custom port command coded as below? It work great on the LAN but the when the WAN forwarded the port to the internal IP instead of requesting 192.168.0.2 it tried to request 1.0.0.0

Server:
MAX_PLAYERS = 100
NETWORK_PORT = 8181
NET SET PORT (NETWORK_PORT)
if net host(MAX_PLAYERS)

Client:
MAX_PLAYERS = 100
NETWORK_PORT = 8181
SERVER_IP$ = "81.174.154.100"
NET SET PORT (NETWORK_PORT)
if net connect(SERVER_IP$)

http://www.KumKie.com http://bulldog.servegame.com
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 4th Feb 2007 16:23 Edited at: 19th Jan 2009 04:32
Quote: "It work great on the LAN but the when the WAN forwarded the port to the internal IP instead of requesting 192.168.0.2 it tried to request 1.0.0.0"

What tried to request 1.0.0.0? Perhaps if you show me your router configuration I may be able to help you. Also, it might help to know exactly how you are connected to the internet. Is it just a PC->Router->Internet setup?

GatorHex
12
Years of Service
User Offline
Joined: 5th Apr 2005
Location: Gunchester, UK
Posted: 4th Feb 2007 16:28 Edited at: 4th Feb 2007 16:40
SHOULD BE:
Client -> 81.174.154.100:8181 -> Netgear DG834PN -> 191.168.0.2:8181 -> Server

BUT WHAT IM GETTING IS:
Client -> 81.174.154.100:8181 -> Netgear DG834PN -> 1.0.0.0:8181 -> .... Server (never hears it)

SERVICE SETUP
Service name: MultiSync
Type: TCP
Start port: 8181
Finish port: 8181

FIREWALL/PORT FORWARD SETUP
Service, Action, LAN Server IP, WAN User, Log
MultiSync, ALLOW always, 192.168.0.2, Any, Always

I already run a web server on port 80 and another game server on 7171 they port forward just fine.

http://www.KumKie.com http://bulldog.servegame.com
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 4th Feb 2007 16:40
What exactly is 1.0.0.0? What's the router's internal IP? For your IP, are you sure you mean 192.168.0.2 and not possibly 192.168.1.2?

Tempest (DBP/DBCe)
Multisync V1 (DBP)
GatorHex
12
Years of Service
User Offline
Joined: 5th Apr 2005
Location: Gunchester, UK
Posted: 4th Feb 2007 16:45 Edited at: 4th Feb 2007 16:51
My LAN network is built on

Game Server: 192.168.0.2
Mask: 255.255.255.0
Router/Gateway: 192.168.0.254

1.0.0.0 is some kind of broadcast I think, DBP netplay was doing the same, it supposadly broadcasts to build an available server list. I was expecting MultiSync using a port number would just forward to the internal IP. Like I said I've already got Apache web and Tibia game servers running they port forward like a charm.

I could try changing my whole lan to 192.168.1.x but it shouldn't make a difference.

http://www.KumKie.com http://bulldog.servegame.com
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 4th Feb 2007 16:50 Edited at: 4th Feb 2007 16:51
Quote: "I was expecting MultiSync with a port number would just forward to the internal IP."

It should do, it's just like a standard TCP application. Port forwarding works fine for me, mind you it's a completely different router.

Quote: "1.0.0.0 is some kind of broadcast I think"

But where exactly are you seeing this?

Think you could show me a screen print of the port forwarding page in your router setup?

Tempest (DBP/DBCe)
Multisync V1 (DBP)
GatorHex
12
Years of Service
User Offline
Joined: 5th Apr 2005
Location: Gunchester, UK
Posted: 4th Feb 2007 16:54 Edited at: 4th Feb 2007 16:59
Quote: "
Quote: "1.0.0.0 is some kind of broadcast I think"
But where exactly are you seeing this?
"


In the router logs as I've told it to log all access to port 8181
Sun, 2007-02-04 16:25:14 - TCP Packet - Source:208.60.x.x,2598 Destination:1.0.0.0,8181 - [MultiSync match]

What make of router are you using? As a last resort I might try a new NAT router, but I'll try reconfiguring the lan to 192.168.1 first I think, maybe there is some microsoft bug that don't like zeros.

http://www.KumKie.com http://bulldog.servegame.com
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 4th Feb 2007 16:58 Edited at: 4th Feb 2007 16:59
Quote: "In the router logs as I've told it to log all access to port 8181"

Oh ok.

Quote: "What make of router are you using?"

It's an Orange Livebox made by SAGEM that came with our ADSL package. It's basically a modem/router combo, though from this computer I use purely the router part of it.

Quote: "As a last resort I might try a new NAT router."

You shouldn't have to; if it's working with other things, then there must be a way to get it to work with this.

Tempest (DBP/DBCe)
Multisync V1 (DBP)
GatorHex
12
Years of Service
User Offline
Joined: 5th Apr 2005
Location: Gunchester, UK
Posted: 4th Feb 2007 17:02 Edited at: 4th Feb 2007 17:06
Is your ADSL connection a USB cable or an CAT5 network cable?

If it's a USB cable then it works differently because it don't use NAT and places the external IP directly on the interface of your PC.

http://www.KumKie.com http://bulldog.servegame.com
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 4th Feb 2007 17:03
Quote: "Is your ADSL connection a USB Modem or an CAT5 NAT Router?"

CAT5 NAT.

Quote: "If it's a USB modem then it works differently because it don't use NAT and places the external IP directly on the interface of your PC."

Perhaps with other devices, but when using the USB interface (with the old computer that doesn't have an Ethernet card) I still had to use port forwarding (due to the fact that it acts as a modem and a router simultaneously).

Tempest (DBP/DBCe)
Multisync V1 (DBP)
GatorHex
12
Years of Service
User Offline
Joined: 5th Apr 2005
Location: Gunchester, UK
Posted: 4th Feb 2007 17:08
Ok thank for your help Bejamin, I'm gona try chaning my LAN to 192.168.1.x network and see if it helps... <back in a few hours!>

http://www.KumKie.com http://bulldog.servegame.com
dark coder
14
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 4th Feb 2007 17:12
Quote: "Yes its much,and well,now that everything works as its designed to do,9999 players are alot too.but its enough for a multiplayer plugin.as its not an MMO plugin"


Are you sure you have your head plugged in? NO game in the galaxy uses 100k connections, especially when using the same application, that would be insane, and probably impossible, even 10k is a incredibly high limitation, and yes any MMO would work totally fine with a limitation of 10k connections on the one app, as you can have multiple servers.

GatorHex
12
Years of Service
User Offline
Joined: 5th Apr 2005
Location: Gunchester, UK
Posted: 4th Feb 2007 17:33
Ooooh, Ooooh, ohhh! Found a RIP2-B (routable IP broadcast) option in my routers LAN settings somone try and connect plx and see if it work now? Thanx.

http://www.KumKie.com http://bulldog.servegame.com
3D Coding
10
Years of Service
User Offline
Joined: 15th Jan 2007
Location: My 3D Spaceship
Posted: 4th Feb 2007 20:57
Thanks very much for explaining use of net player from()

That cleared up a lot, but I'm still a bit baffled by:
playerName(thisPlayer) = net get string()because it makes me wonder, is a string being sent already, or is this a request for a string? Its obviously a very precise business and being done somewhat invisibly, so its kind of difficult to grasp.

Can I request a file this way also? I'm thinking it might be easier (on my old noggin at least) for the client to just store the users name and password in a file, and then have the host retrieve it when a connection is made.

MEGA EMPIRES III(c)Soltronics 2007 ---- A DarkBASIC Professional 3D Interstellar Conquest Project
http://me3.artofwarcentral.com/index.html <---- Come check out our BETA modules opening very soon
3D Coding
10
Years of Service
User Offline
Joined: 15th Jan 2007
Location: My 3D Spaceship
Posted: 4th Feb 2007 21:12
GH: I'm still not getting connection. Same error:"Could not start server: CONNECTION FAILED"

MEGA EMPIRES III(c)Soltronics 2007 ---- A DarkBASIC Professional 3D Interstellar Conquest Project
http://me3.artofwarcentral.com/index.html <---- Come check out our BETA modules opening very soon
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 4th Feb 2007 21:40 Edited at: 4th Feb 2007 21:41
Quote: "playerName(thisPlayer) = net get string()because it makes me wonder, is a string being sent already, or is this a request for a string?"

The string is being read from a message that has already been sent.

If you want the client to be able to log in using a username and password, here is roughly how it would happen:

1. The client connects to the server using NET CONNECT.

+ Code Snippet

2. The server accepts this new connection by calling NET PLAYER JOINED which returns the client's ID.

+ Code Snippet

3. The client sends a username and password to the server. It's a good idea to prefix messages with a single byte value as a message ID, so that the receiver knows what kind of message it is. In this case the ID is 0.

+ Code Snippet

4. The server receives this message and accepts or rejects the client. Message ID '1' in this case tells the client that it has logged in fine, '2' indicates that it hasn't.

+ Code Snippet

5. The client receives the reply from the server and acts according to the result.

+ Code Snippet

If you want I can code up a practical working example.

Tempest (DBP/DBCe)
Multisync V1 (DBP)
3D Coding
10
Years of Service
User Offline
Joined: 15th Jan 2007
Location: My 3D Spaceship
Posted: 4th Feb 2007 22:27
Fantastic! Thanks very kindly! I should say "Eureka!"

Now if we can help GatorHex get his project launched, there will be hope for remote hosting multiplayer games with DarkBASIC Pro. "Make it so, Number One!"

GH has been working hard on this, there has got to be a solution.
"We are the people who made fire! We can do this!"

MEGA EMPIRES III(c)Soltronics 2007 ---- A DarkBASIC Professional 3D Interstellar Conquest Project
http://me3.artofwarcentral.com/index.html <---- Come check out our BETA modules opening very soon
3D Coding
10
Years of Service
User Offline
Joined: 15th Jan 2007
Location: My 3D Spaceship
Posted: 4th Feb 2007 22:44
I just saw your offer to write up a pratical working example.

Yes please. This would be very helpful.

If you have time, it would be even more helpful if written for more than one client, ie: instead of "if object exist(2)" it would be "if object exist(numplayers)" but thats a bit of work.

Any help would be much appreciated.

MEGA EMPIRES III(c)Soltronics 2007 ---- A DarkBASIC Professional 3D Interstellar Conquest Project
http://me3.artofwarcentral.com/index.html <---- Come check out our BETA modules opening very soon
GatorHex
12
Years of Service
User Offline
Joined: 5th Apr 2005
Location: Gunchester, UK
Posted: 5th Feb 2007 01:07
Changed my LAN to 192.168.1.x (what a nightmare Apache was ) I don't think it will make a change but somone give it a test plx

http://www.KumKie.com http://bulldog.servegame.com
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 5th Feb 2007 01:18 Edited at: 5th Feb 2007 01:19
Just tried, didn't work. I know you said you have a web server working fine through NAT, but is that on another machine? I thought that perhaps you may have had "DMZ host" set for another machine, thus making all traffic go to that.

Tempest (DBP/DBCe)
Multisync V1 (DBP)
GatorHex
12
Years of Service
User Offline
Joined: 5th Apr 2005
Location: Gunchester, UK
Posted: 5th Feb 2007 10:42 Edited at: 5th Feb 2007 10:56
Yeah my DBP server, Tibia game server and Apache web server are all on the same PC. I've also hosted Quake III Arena off it in the past with no problems.

It's not in a DMZ at the moment but i have tried putting it in a DMZ in the past and it makes no difference to DBP networking.

I have to say I was surprised to see Multisync request 1.0.0.0 like DBP generic network commands. Is Multisync useing DirectX NetPlay? It shouldn't need to do a network broadcast when it has a port number?

Microsoft recommend using plain socket networking as Direct netplay is supposed to be depreciated in DX10 (a warning it will be dropped in future releases of DX?)

http://www.KumKie.com http://bulldog.servegame.com
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 5th Feb 2007 13:21 Edited at: 5th Feb 2007 13:22
Quote: "I have to say I was surprised to see Multisync request 1.0.0.0 like DBP generic network commands."

I'm not sure what you mean. It doesn't really "request" anything as such, it'll accept connections on any address.

Quote: "Is Multisync useing DirectX NetPlay?"

No, the whole point of this project was to create something that worked. It's based on Winsock, thus it's just a standard TCP application just like IE/FF/MSN.

Quote: "It shouldn't need to do a network broadcast when it has a port number?"

No, something is definitely up with your modem/router. I can't think what though, if you manage to host other applications fine.

Tempest (DBP/DBCe)
Multisync V1 (DBP)
Dizzy Wizzie
10
Years of Service
User Offline
Joined: 5th Feb 2007
Location:
Posted: 5th Feb 2007 13:59
Hey ben the download dosnt work my computer cant find it. is there somewhere else i can download it?

Brains? What Is Brains?
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 5th Feb 2007 19:44
Quote: "Hey ben the download dosnt work my computer cant find it. is there somewhere else i can download it?"

The download works for me here. No there is nowhere else you can download it.

@3D Coding: I have finished writing a basic server/client login example.

The server application needs to have a folder called users.

Server:
+ Code Snippet

Client:
+ Code Snippet

Tempest (DBP/DBCe)
Multisync V1 (DBP)
GatorHex
12
Years of Service
User Offline
Joined: 5th Apr 2005
Location: Gunchester, UK
Posted: 5th Feb 2007 20:13 Edited at: 5th Feb 2007 20:31
Just packet sniffed my LAN your port system looks like its working fine, was an odd empty packet pushed on frame 11 what is it doing there? ...

+ Code Snippet

other than that I've got no flamin idea why it don't go through my router I could do with somone running wireshark/ethereal while trying to connect to my IP from outside my LAN

http://www.KumKie.com http://bulldog.servegame.com
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 5th Feb 2007 21:00
Quote: "was an odd empty packet pushed on frame 11 what is it doing there?"

Upon connection, the server sends a 3 byte message to the client to tell it whether it can join the game. That's probably what frame 11 is in that log.

Tempest (DBP/DBCe)
Multisync V1 (DBP)
GatorHex
12
Years of Service
User Offline
Joined: 5th Apr 2005
Location: Gunchester, UK
Posted: 5th Feb 2007 21:21 Edited at: 5th Feb 2007 22:20
Yeah that looks like what it's doing, nothing to worry about then. Looks very efficient sent the server message in 13 frames

Out of interest i ran a standard DBP network client/server. It took 82 frames before it send out the server message!

http://www.KumKie.com http://bulldog.servegame.com

Login to post a reply

Server time is: 2017-07-23 23:30:25
Your offset time is: 2017-07-23 23:30:25