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
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 4th Jul 2008 20:49
I think he means net set option, but option #1 is only for the initial connection timeout, not the ping timeout.

KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 4th Jul 2008 20:55
Hmmm.. No chance that it's being used for the ping timeout as well?

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 4th Jul 2008 20:58
Not as far as I can see.

Silvester
18
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 4th Jul 2008 23:11
Funny, oh well... It disabled the whole Timeout thing.

SOTA Engine
Purchase
Source and Non Source versions available!
GIDustin
15
Years of Service
User Offline
Joined: 30th May 2008
Location:
Posted: 6th Jul 2008 08:18
Quick problem I just discovered.

I am making a MP game, and to test it I just load up two copies of the game, host on one, and join '127.0.0.1' on the other. Works great. I am using some random port in the 4k range, and I "NET SET PORT 4183" near the top of my program.

Then, on the client machine, I disconnected and hosted my own game, and got a windows Illegal Operation thing. I assume this is because the game tried to host a game on a port that was already in use by the other copy of the game.

So my question, why did Windows throw an error? Why didn't "NET HOST(4)" fail on the machine when it realized the port was already in use? Or am I not understanding correctly what is going on here?

Using Version 1.4.1. Works great so far, and this is the only problem I have ever found, and it is unlikely that any of my game players will attempt to host 2 games on the same machine, but you never know.
Mega Raptor
16
Years of Service
User Offline
Joined: 14th Feb 2008
Location:
Posted: 8th Jul 2008 16:59
Hi, I've been using your multisync plugin to make simple MP programs and it works great but there's something important I don't understand.

How do I make other people able to come in my server ?
I mean, I can connect with my client on the server using my local ip but I can't host on my ip adress and I can't connect with it.
So, if nobody else can connect to me, I have no reason to make MP games. I can't host and connect using my IP : 82.120.247.188
Isn't there any other way connecting than using 127.0.0.1 ?
Will other people be able to connect to me ?


I must have missed something very important as I did not find anybody else having the same problem so I'll be glad if you can help me.
Cellbloc Studios
20
Years of Service
User Offline
Joined: 15th Mar 2004
Location: Atlanta, GA
Posted: 10th Jul 2008 20:56
@Benjamin:

Do you have your PC now? If so, can you work on those 3 examples zapakitul was asking about because I know there are people such as myself also waiting.

Thanks!

Your mod has been erased by a signature
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 10th Jul 2008 21:32 Edited at: 10th Jul 2008 21:33
Quote: "So my question, why did Windows throw an error? Why didn't "NET HOST(4)" fail on the machine when it realized the port was already in use?"

I don't know. Unfortunately, I can't debug it either as I've lost some vital code which I will need to rewrite at some point.

Quote: "How do I make other people able to come in my server ?
I mean, I can connect with my client on the server using my local ip but I can't host on my ip adress and I can't connect with it."

Assuming you're connected to the internet via a router:

1. Host using 0.0.0.0. If this doesn't work, use your computer's LAN address. You can find this address by opening command prompt and typing ipconfig.

2. In order to let other people connect to you from the internet, you need to set up port forwarding on your router. The protocol is TCP, and the port is 3999 by default. Note that if you are hosting behind a router, you can not connect to yourself using your internet IP, since your computer doesn't know what this IP is (only the router does).

Quote: "Do you have your PC now? If so, can you work on those 3 examples zapakitul was asking about because I know there are people such as myself also waiting."

I do indeed have my PC now, although I'm recovering from a brief illness at the moment so I'm trying not to spend too long on the PC. I'll see about doing them in a few days time.

haYnguy
15
Years of Service
User Offline
Joined: 5th Jun 2008
Location: on my island
Posted: 23rd Jul 2008 08:17
I keep getting "Message full, cannot write"


the only thing I have going as far as sending messages is:



is there something i need to put after it to clear the message to prepare for the next one?

-- from my island, aloha wau 'ia 'oe --
Jean Philippe
16
Years of Service
User Offline
Joined: 10th Jul 2007
Location:
Posted: 24th Jul 2008 16:53 Edited at: 24th Jul 2008 16:55
you can add a flag after the net send command so the message is kept in memory after being send, this way you can send the same message to several people



don t forget to add the "net send 0" part

it erases the memory so next time you make a message it will not be added to the one you sent to all the people but in a new one.

I remember I also had the "Message full, cannot write" message and it was because of the mistake I just explained.

I hope you are in the same case
Papa Stiffy
16
Years of Service
User Offline
Joined: 22nd Sep 2007
Location:
Posted: 25th Jul 2008 03:45
I just wanted to say that I have used this DLL personally, and it is absolutly fantastic. It is so simple and very powerful to use. I'm only an intermidiate programmer, and I had a multiplayer game running within 4 days of first installing the DLL.

Nice work!

Got some time to kill...? [a href="http://www.theflasharena.com"]TheFlashArena.com[/a]
KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 14th Aug 2008 21:09
I have to second that. It's one of the best plug-ins I've used for DBPro.

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 14th Aug 2008 21:14
SFSW
21
Years of Service
Recently Online
Joined: 9th Oct 2002
Location:
Posted: 20th Aug 2008 00:29 Edited at: 20th Aug 2008 00:30
I 'third' that.

For anyone who is interested in developing a multiplayer project with a DB based language, seriously consider Multisync. I have worked with it in depth for about the last 6 months in a commercial project and it literally is, in my opinion, the replacement option for the built-in multiplayer system of DarkBasic. It's reliability, performance, simplicity, and improvements (including client-side connecting through routers/NAT without required port forwarding) make it a defacto standard for a client-server solution. Because of its simple usage and instruction set, you can use it in much the same way you would DB's C/S multiplayer system, making porting a project relatively easy. Plus you can use it in new and different ways from DB that offer several advantages. So if you haven't already, at least download and give it a shot, it's well worth the time to learn how to use it if you have any interest in working on a multiplayer capable project.

Uncle Sam
18
Years of Service
User Offline
Joined: 23rd Jul 2005
Location: West Coast, USA
Posted: 20th Aug 2008 01:13
I totally agree! I would be completely...stuck without it!

Uncle Sam
18
Years of Service
User Offline
Joined: 23rd Jul 2005
Location: West Coast, USA
Posted: 24th Aug 2008 01:51 Edited at: 24th Aug 2008 01:52
Ben I take it back. No, just kidding.

I actually have a little problem. It works great localy, but when someone connects from outside the fps slows down to like 6 from over 100 I think (on the server).

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 27th Aug 2008 23:12
Thanks guys, I really appreciate it.

Just for reference, I figured out Uncle Sam's problem.

Roxas
18
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 20th Sep 2008 18:48
Anyway compiling the lib for linux? So i could use this wiht linux compilers.

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 20th Sep 2008 19:59
No, because it uses Windows-specific functions.

alec the lion
17
Years of Service
User Offline
Joined: 14th Jun 2006
Location:
Posted: 9th Nov 2008 16:43
Hello lads, one of my first posts on here, but i have been squilling away in my home using this plugin for about a week now, usiong the mutlisync pluging with DB

First problem: my server sucks

but asside from that i have done it, the basics at least, pre alpha atm.

theirs a website for it now
http://digi-life.binary-helix.co.uk

should it gather some steam - in otherwords be any good
happy to make it open source.

due to my experance in wrting neworked apps, i have got a very efficent archutecture for handeling incomming data.

anyway i'd like some feedback.

for ages i got stuck at port forwarding.
ages
the sollution my dear freinds, is to set the client to port 80, and use a webserver config on youre router.
failing this use youre server as a server computer (really id recomend zone allarm for this) look for dnsz on youre router (something like this) and make sure you use youre external ip
TuPP3
17
Years of Service
User Offline
Joined: 26th Jan 2007
Location: [+--]FINLAND
Posted: 15th Nov 2008 15:46
Why can't I run that zombie game? It says cloud not understand command at line 2 and highlights Lib.Init().
I have Sparkys Collision DLL and Multisync 1.4.1 added to plugins-user.

Your signature has been erased by a mod because it was too big
Garzu
19
Years of Service
User Offline
Joined: 31st Oct 2004
Location: London
Posted: 20th Nov 2008 13:50
Hi Benjamin, thanks for making this

I'll be sure to credit you if I get it working

Ben Johnson
16
Years of Service
User Offline
Joined: 6th Jul 2007
Location:
Posted: 3rd Dec 2008 04:55
Hi, I am having problems with just simply connecting using the latest version in DB as the client to a C++ server. The server and client return no errors, but when the client goes to connect through Net Connect() it simply just gets stuck and can only be aborted by ending the process, is this a bug or am I doing something wrong my C++ server is pretty simple at the moment and just using net connect hangs for the client, heres the server code:

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 4th Dec 2008 15:34
Quote: "Why can't I run that zombie game? It says cloud not understand command at line 2 and highlights Lib.Init()."

Perhaps periods aren't allowed in function names in a recent update, try replacing them with underscores.

Quote: "Hi, I am having problems with just simply connecting using the latest version in DB as the client to a C++ server."

You need a window message pump, see this thread for an example.

Garzu
19
Years of Service
User Offline
Joined: 31st Oct 2004
Location: London
Posted: 5th Dec 2008 14:39
Benjamin, I had a very small attempt at getting it working (Server behind NAT enabled router) I port forwarded the port I set in the server (and client) programs to the respective computer on the network, and set up a little messaging program, admittedly, one way, client to server, where if you type "Quit" it quits both programs.

It all worked like a dream.

Thank you for making multiplayer easier (I had previously used DBPro's native commands, and although they did work, It takes AGES to connect!)

once again a BIG THANK YOU

wh1sp3r
20
Years of Service
User Offline
Joined: 28th Sep 2003
Location: Czech republic
Posted: 9th Dec 2008 18:54 Edited at: 10th Dec 2008 10:55
Benajmin: It is possible to make UDP or TCP/IP terminal ?? Just send some data to preferred IP address or recieve data from other devices.

EDIT: I tested your plugin, It seems to be working, but I've found small problem.



You can see, I can send data from terminal to my aplication.

Packet ( NUMOFBYTES NUL DATA NUL )

I am waitng for example for 3 BYTES. so, I send 0x03 0x00 0xF1 0x F2 0xF3 0x00, I send F1, F2 and F3. Its ok, but when I send wrong data, for example 0x02 0x00 0xF1 0x F2 0xF3 0x00 (only 2 bytes)... It doesnt work, yeah, Its clean, but when I resend right packet again, nothing is recieved.

PS: Real programmers aren't afraid of math!.

AMD 64x 3500+, 6GB RAM, GeForce 8800 GTS 320MB, HD 500GB, X-fi xtreme audio, Internet 10/1 Mbit

Attachments

Login to view attachments
Alfa x
17
Years of Service
User Offline
Joined: 1st Jul 2006
Location: Colombia
Posted: 14th Dec 2008 17:25
Hi,
I have two questions to Benjamin.

1) It's possible to use UDP with this plugin?.

2) if not, have you tought on doing this?.

Thank you very much for this wonderful plug-in.
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 14th Dec 2008 17:35
Quote: "I am waitng for example for 3 BYTES. so, I send 0x03 0x00 0xF1 0x F2 0xF3 0x00, I send F1, F2 and F3. Its ok, but when I send wrong data, for example 0x02 0x00 0xF1 0x F2 0xF3 0x00 (only 2 bytes)... It doesnt work, yeah, Its clean, but when I resend right packet again, nothing is recieved."

Then don't send the wrong data. If you send it extra bytes it'll get confused and won't know how to correct itself. The data you're sending is almost correct except you should not terminate the data with a zero (it should look like this: 03 00 F1 F2 F3).

Quote: "1) It's possible to use UDP with this plugin?.

2) if not, have you tought on doing this?."

It's not possible currently, although I've thought about it. The problem is, UDP acts rather differently to TCP and so it would require a fair amount of code change. Operations with UDP are pretty simple themselves, so maybe you should take a look at the other plugins on the forums that support UDP.

Smaadmin
15
Years of Service
User Offline
Joined: 23rd Nov 2008
Location:
Posted: 14th Dec 2008 18:41 Edited at: 14th Dec 2008 18:43
Ive been crying for days trying to get this to work. I run a server on my computer, and can run several clients to connect to my local IP... and it works... when i give others my actual IP (obtained online), they enter it and cannot connect to me... im a NOOB to online programming, can someone just tell me how i fix this issue? Its happening with any multiplayer dll i try to use...

Im using the zombie game as an example, its just NOT working......

SMAAD presents GOD (Glory Of Dementia).. wierd music... and games... GLOWWORM BETA DEMO AVAILABLE, PLEASE REVIEW AND GIVE FEEDBACK: http://forum.thegamecreators.com/?m=forum_view&t=140564&b=8
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 14th Dec 2008 18:45
Smaadmin
15
Years of Service
User Offline
Joined: 23rd Nov 2008
Location:
Posted: 14th Dec 2008 20:03
i set it up, and i must say... fantastic! Im already underway to making my game, "GlowWorm" online! thanks ben x will credit in anything done!

SMAAD presents GOD (Glory Of Dementia).. wierd music... and games... GLOWWORM BETA DEMO AVAILABLE, PLEASE REVIEW AND GIVE FEEDBACK: http://forum.thegamecreators.com/?m=forum_view&t=140564&b=8
sindore
19
Years of Service
User Offline
Joined: 2nd Jul 2004
Location: Bedfordshire, UK
Posted: 17th Dec 2008 13:56
just tried that zombies game and can't get it to compile, do I have to use a earlier version of dbp?

I'm using dbp update v6.9 I have the plugins like sparkys and Multisync, but I just can't get this to work what can I do to try zombies out?

soul sucking devils, twisted body of the damed, slivering slim drips from every poor, sin licking at your ears, and the smell stinging your eyes, and if you don't like it, get out of my kitchen!
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 17th Dec 2008 14:18
I'm not sure, what's the error?

alec the lion
17
Years of Service
User Offline
Joined: 14th Jun 2006
Location:
Posted: 3rd Jan 2009 12:51
right glad i found this thred, i've created a buety demo for multisync, the sceleton for an mmorts style thing with an ingame powergrid and starts of an econimy, file transfer (server--->client) global and sysnconised timers, private files, public files, and i got it online.

and i've published the source

its home site is http://digi-life.binary-helix.co.uk/

somwhere in the fourms, (fourms ---> tech-talk --> source code) i think the source code should be there, i would give you the link but lack of time, and i am on laptop i hate the little pokie thing to move the moust


hope i made you proud benjamin, should you need to create the drives petitions i recomend you eather download live partition manager 8, or change the directories.

my code is fairly well formatted. i hope you enjoy


Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 5th Jan 2009 02:23
I downloaded it, but it won't connect?

alec the lion
17
Years of Service
User Offline
Joined: 14th Jun 2006
Location:
Posted: 5th Jan 2009 20:45
i dont run the server anymore, i wanted you really to look at the source, feel free to run youre own server though


Brick Break
User Banned
Posted: 7th Feb 2009 01:21
I can't seem to connect to myself at all. It works just fine between two machines, even while I'm not using net player joined(), and running on the default port. However, on 192.0.0.1 it times me out. Here's my server code:

Here's my client code:

What am I doing wrong?

DBC User
hookkshot
17
Years of Service
User Offline
Joined: 12th Apr 2007
Location: Adelaide, Aus
Posted: 8th Feb 2009 13:25
Ok ive got all my code working and so far it works fine the only thing i need to be able to do is be able to find the computers ip address.

Silent Shade Download the latest Beta
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 8th Feb 2009 13:29 Edited at: 8th Feb 2009 13:29
@Brick Break: Perhaps the IP address is wrong? I'm pretty sure it's more likely to be 192.168.0.1 or something similar, try using ipconfig in command prompt to find what your IP address is.

@hookkshot: What do you need the IP address for? If it's for clients to know who to connect to, use whatsmyip.net.

hookkshot
17
Years of Service
User Offline
Joined: 12th Apr 2007
Location: Adelaide, Aus
Posted: 8th Feb 2009 13:54
well im making it a lan game and i want the program tell the user what there ip is so other people can connect i want the local one not the external one

Silent Shade Download the latest Beta
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 8th Feb 2009 13:59
In that case use the ipconfig utility (type that into command prompt and it'll display a list of network interfaces).

hookkshot
17
Years of Service
User Offline
Joined: 12th Apr 2007
Location: Adelaide, Aus
Posted: 8th Feb 2009 14:05
i know how to do that aswell just i dont want people who play my game to have to do that just to host a game

Silent Shade Download the latest Beta
Brick Break
User Banned
Posted: 9th Feb 2009 00:17
Sorry Benjamin, but whether it's 192.0.0.1, 192.168.0.1, my external gaming IP or anything, I just can't get my computer to connect to itself. Sure, between two computers everything works just fine, even through LAN, but not serving and joining on the same PC.
So, I came up with an idea: make one program that allows you to join or host and play! That way I can even test it privately and have everything work! It's brilliant! No more hassle! So, problem solved, I guess.
By the way, your plugin works so much better than DarkBASIC's built in thing. Also, if you release a commercial version, please don't remove any features from the free one.

DBC User
Cuddle Bunniezzz 12
15
Years of Service
User Offline
Joined: 14th Jan 2009
Location: Buffalo, NY
Posted: 12th Feb 2009 15:21
Hey, does this work in DarkGDK yet? Are there any tutorials out for this?

Also thanks.

http://twewy-fan.com/ <-- The first ever fansite for "The World Ends With You"
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 12th Feb 2009 17:52
Quote: "Sorry Benjamin, but whether it's 192.0.0.1, 192.168.0.1, my external gaming IP or anything, I just can't get my computer to connect to itself."

Have you checked ipconfig yet?

Quote: "Hey, does this work in DarkGDK yet? Are there any tutorials out for this?"

I posted this thread some time back.

Garzu
19
Years of Service
User Offline
Joined: 31st Oct 2004
Location: London
Posted: 22nd Feb 2009 21:46
Hi Benjamin, i;ve come up with an annoying odd problem (XP and Vista problem)

My chat program works perfectly if I compile both the server and the client on XP, if I copy the executable of either to vista, everything still works.

If I compile the server program on Vista however, it connects, but I get no responses from the server (like for instance, the list of users connected).

the client server works perfectly whether I compile it on vista or xp.

I have noticed, that the executable on Vista is 20k smaller than the XP one.

now, this is probably more of a vista/DB problem than a multisync one, but it's the only time i've recognised an incompatability.

i've tried setting all the exe's in the compiler folder to xp service pack 2 compatability, but it made no difference.

any ideas ?

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 22nd Feb 2009 22:31 Edited at: 22nd Feb 2009 22:32
It sounds like it could either be a firewall problem or maybe you're using an older version of DBPro on Vista (or the versions of Multisync are different).

Garzu
19
Years of Service
User Offline
Joined: 31st Oct 2004
Location: London
Posted: 22nd Feb 2009 23:57
Same version of dbpro, same version of multisync, same version of codesurge.

I don't think it's a firewall problem, as the executable made in xp works in vista.

I do find it odd that the vista exe is smaller by 20k though.

Garzu
19
Years of Service
User Offline
Joined: 31st Oct 2004
Location: London
Posted: 23rd Feb 2009 22:10
I've solved it.

I copied the entire Dark Basic pro folder from my XP install to my Vista install (deleted vista version, but didn't uninstall) now it works fine. The exe I make in vista is the same size as the one I make in XP.

I do not have the ability to investigate why it wasn't working, but i'm glad that it now is.

KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 23rd Feb 2009 22:21
Probably an outdated version of some other plugin, or something that didn't update properly. Either way, it's fixed now.

Login to post a reply

Server time is: 2024-04-25 15:47:28
Your offset time is: 2024-04-25 15:47:28