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 / Tempest - A peer-to-peer UDP multiplayer plugin - Free release

Author
Message
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 8th Mar 2006 20:46 Edited at: 26th Mar 2008 12:41
This software is no longer available. Consider using Multisync instead.

News
8/May/2006 - 1.1.2 released. Change log:

+ Code Snippet

3/April/2006 - Tempest is now compatible with DBC. For the most part it works, although I seem to get crashes when doing certain things(although the things I am doing are not things you would normally do with it). I have reuploaded the RAR to the same place, see below for the link.

----------------------------------------------------------------
After almost a year of on-and-off development(and still developing) I have decided to release this.

I created this plugin to allow speedy transfer of data between players, making it most useful for faster paced games. The two most important factors in this are the fact that it uses the peer-to-peer network model, and the low-overhead UDP protocol. I took into account the fact that UDP isn't a reliable protocol and I coded a guarantee system to ensure that messages would get to their destination(this can be used by specifying a flag when sending a message).

Features
* Reliable UDP
* Supports up to 64 players
* Easy message construction - most standard data types supported
* Uses a global player ID system
* Message IDs supported
* Allows retrieval of player addresses

Function List
+ Code Snippet

This software is no longer available.

Hawkeye
13
Years of Service
User Offline
Joined: 19th Sep 2003
Location: SC, USA
Posted: 8th Mar 2006 20:51
Wow, generous This'un Ima have a look at alright...


I am but mad north north-west; when the wind is southerly I know a hawk from a handsaw - Hamlet, Hamlet
Chris Franklin
11
Years of Service
User Offline
Joined: 2nd Aug 2005
Location: UK
Posted: 8th Mar 2006 20:53
WoW thanks ben so much for gogetax saying it would cost

SageTech
12
Years of Service
User Offline
Joined: 3rd Dec 2004
Location: Orlando, Florida
Posted: 8th Mar 2006 21:19
Benjamin, i can not thank you enough, ive been waiting so long for this plugin, and was just looking at using directplay when i came to this page. Since it has all the function equivilents of what i use in my current engine using direct play, i can transfer it easily. Thank you, and when you release the new version i fully intend to buy it if it costs money.

If you're so smart, why are you reading my post?
Megaton Cat
13
Years of Service
User Offline
Joined: 24th Aug 2003
Location: Toronto, Canada
Posted: 8th Mar 2006 21:26
Awsome freebie for the cheapskate in your heart.

Sergey K
13
Years of Service
User Offline
Joined: 4th Jan 2004
Location:
Posted: 8th Mar 2006 21:53 Edited at: 8th Mar 2006 21:59
Quote: "WoW thanks ben so much for gogetax saying it would cost
"

actually, he decided to release a free version of it (not full version though) because he started the development long time ago, and he already wants that people will use it

Torrey
12
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 8th Mar 2006 22:02
This is an excellent plugin, I've heard great things about it from the Blackout project. Your knowledge of networking really shows with the design used to benefit users.

Chris Franklin
11
Years of Service
User Offline
Joined: 2nd Aug 2005
Location: UK
Posted: 8th Mar 2006 22:16
We need a board dedicated to ben

blanky
12
Years of Service
User Offline
Joined: 3rd Aug 2004
Location: ./
Posted: 8th Mar 2006 22:22
I've been using this for a while, and I can safely say that no other multiplayer plugin can rival it. It actually contains more commands than just send & receive (shock horror), automatically keeps track & pings other players in sessions and all of that other goode stuffe.

(The 'Reliable UDP' is more useful than you can imagine... Because it can be switched on and off for each piece of data you send, you could (for example) send player positions as fast, unreliable, but bullet shots as reliable.)

Oh yeah, and it actually works. I give Benjamin brownie points for that.

... installing gentoo ...
Chris Franklin
11
Years of Service
User Offline
Joined: 2nd Aug 2005
Location: UK
Posted: 8th Mar 2006 22:24 Edited at: 8th Mar 2006 22:25
*runs test app*

Edit:
Routers blocked it

Mnemonix
14
Years of Service
User Offline
Joined: 2nd Dec 2002
Location: Skaro
Posted: 9th Mar 2006 02:32
Let me see ur networking plugin
U dont have it
Sorry U need to go download internet factory then
It should do it for you and Benjamin oops its TempestDude.


Very good plugin benjamin(probably, as I have not tried it yet)

WE SHALL BECOME ALL POWERFUL! CRUSH THE LESSER RACES! CONQUER THE GALAXY! UNIMAGINABLE POWER! UNLIMITED RICE PUDDING ! ! ! ETC. ! ! ! ETC.! ! !
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 9th Mar 2006 02:59 Edited at: 26th Sep 2006 16:29
Thank you all for the kind comments.

Quote: "so much for gogetax saying it would cost"

It was originally going to be soley a commercial product, but I decided more recently to release a free version aswell.

Quote: "Edit:
Routers blocked it"

Huh? Do you mean your firewall? Or are you trying to connect with someone else and your router isn't properly configured for it?

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

Attachments

Login to view attachments
The admiral
14
Years of Service
User Offline
Joined: 29th Aug 2002
Location:
Posted: 9th Mar 2006 03:52
Wow thanks very generous I could use this for my fps.

The admiral
Lukas W
13
Years of Service
User Offline
Joined: 5th Sep 2003
Location: Sweden
Posted: 9th Mar 2006 08:27
benjamin rox but only if this is dbc compatible!

HorizShootiz progress 96%
Baggers
13
Years of Service
User Offline
Joined: 31st May 2004
Location: Yonder over dem dere hills
Posted: 9th Mar 2006 13:27
Ben you legend !
Thats amazing stuff there my man. My project tips it's proverbial hat to you.
Once again thanks.

Hamish McHaggis
14
Years of Service
User Offline
Joined: 13th Dec 2002
Location: Modgnik Detinu
Posted: 9th Mar 2006 19:35
Having used this plugin for a while now (probably over half a year), I can say that it is well worth using. Far superior to the DBPro commands, and very stable now.

Chris Franklin
11
Years of Service
User Offline
Joined: 2nd Aug 2005
Location: UK
Posted: 9th Mar 2006 19:42
Quote: "Huh? Do you mean your firewall? Or are you trying to connect with someone else and your router isn't properly configured for it?"

Happens with my other games sometimes it says bad proxy config on tm sunrise

SageTech
12
Years of Service
User Offline
Joined: 3rd Dec 2004
Location: Orlando, Florida
Posted: 9th Mar 2006 20:52
ben,

I seemed to have encountered an error, im sure its due to my fualty coding, but could you explain exactly what this error log seems to be reporting, and perhaps what could have cuased it?

+ Code Snippet

If you're so smart, why are you reading my post?
Turoid
13
Years of Service
User Offline
Joined: 1st Nov 2003
Location: The Netherlands
Posted: 9th Mar 2006 22:13 Edited at: 4th May 2007 22:07
Ben, just a small question. Does the client also have to open his ports on his router/firewall? Thanks!

I am awesome and always right.
blanky
12
Years of Service
User Offline
Joined: 3rd Aug 2004
Location: ./
Posted: 9th Mar 2006 23:05
@sage tech administrator:

Recv. error 10054 means that the Winsock socket had a timeout. During initial testing, I had this error several times... although (unfortunately) me & benjamin talk an awful lot, and I can't find the MSN log archive.

I'll get back to you on that. (Out of interest, try making sure that you are hosting on 127.0.0.1 and trying to connect to 127.0.0.1. Also make sure that your server settings are in reasonable bounds (i.e. not 128 players, that just stops ANY players from connecting)).

etc
Seeing your connection code would be lubbly too.

... installing gentoo ...
Barnski
11
Years of Service
User Offline
Joined: 26th Jan 2006
Location: Switzerland, Zurich
Posted: 10th Mar 2006 00:48
10054 means "connection reset by peer"

it can happen for example if you send a UDP message to a destination where no one is receiving it (e.g. the partner closed its socket / or hasn't started it yet). Then you get a packet, and when you receive it, it will resolve into that error, simply stating that the other partner has reset the connection. It can be used to detect if someone disconnected.
It happens also in my plugin, when using UDP. So this error is not to be considered as dramatic, its rather normal I would say.

greets,
Barnski.
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 10th Mar 2006 03:55
Quote: " benjamin rox but only if this is dbc compatible!"

It isn't quite compatible. Although to make it compatible I would only have to make a few changes I guess.

Quote: " Having used this plugin for a while now (probably over half a year), I can say that it is well worth using. Far superior to the DBPro commands, and very stable now."

Thanks man!

Quote: "I seemed to have encountered an error, im sure its due to my fualty coding, but could you explain exactly what this error log seems to be reporting, and perhaps what could have cuased it?"

Show me the log of the client that tried to connect.

Quote: " Ben, just a small question. Does the client also have to open his ports on his router/firewall?"

Yes.

Quote: "it can happen for example if you send a UDP message to a destination where no one is receiving it (e.g. the partner closed its socket / or hasn't started it yet)"

Yes, it happens when the socket is closed. However if the socket wasn't bound at the time of the packet being sent then the error would be 10061(WSAECONNREFUSED).

Quote: "So this error is not to be considered as dramatic, its rather normal I would say."

It is normal, if it happens where it is supposed to.

Tempest - P2P UDP Multiplayer Plugin - 70%
Hamish McHaggis
14
Years of Service
User Offline
Joined: 13th Dec 2002
Location: Modgnik Detinu
Posted: 10th Mar 2006 23:25
Ben - Hmm, I replaced the Tempest_Blackout.dll with the new tempest.dll, and the TJoin bug seems to be back. You can only use TJoin once, whether it fails or succeeds the first time, it always fails from then on.

SageTech
12
Years of Service
User Offline
Joined: 3rd Dec 2004
Location: Orlando, Florida
Posted: 11th Mar 2006 05:08
Ben, I was woundering, can you think of any problems that would arise if i were to run tempest AND multisync in the same application? such as as the players movements being handled by tempest, and multisync for a chat server?

If you're so smart, why are you reading my post?
Oneka
13
Years of Service
User Offline
Joined: 24th Apr 2004
Location: Hampton,VA
Posted: 11th Mar 2006 05:36
@Sage Tech
You would be better off waiting for MultiSync 2 where you can send UDP and TCP packets...


Making better games everday!
Oh yeah and just so you know its Oh-nek-a not One-ka!
SageTech
12
Years of Service
User Offline
Joined: 3rd Dec 2004
Location: Orlando, Florida
Posted: 11th Mar 2006 05:43
Its funny, everytime i think ive found what i need to continue work on my game, i find i need something else. Ahwell, guess il to some expirimenting.

If you're so smart, why are you reading my post?
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 11th Mar 2006 15:54
Quote: "Ben - Hmm, I replaced the Tempest_Blackout.dll with the new tempest.dll, and the TJoin bug seems to be back. You can only use TJoin once, whether it fails or succeeds the first time, it always fails from then on"

Oh dear. Well, unfortunately I'm also suddenly having trouble with TDisconnect, so for now you'll have to revert back to the other one.

Quote: "Ben, I was woundering, can you think of any problems that would arise if i were to run tempest AND multisync in the same application?"

No problems that I can think of.

Tempest - P2P UDP Multiplayer Plugin - 70%
Hamish McHaggis
14
Years of Service
User Offline
Joined: 13th Dec 2002
Location: Modgnik Detinu
Posted: 11th Mar 2006 21:54
Note, the bug before I believe was that the whole program crashed out when trying to connect again, but now the command just fails (slightly less problematic).

Chris Franklin
11
Years of Service
User Offline
Joined: 2nd Aug 2005
Location: UK
Posted: 13th Mar 2006 17:49
just as i was about to use tempest in my game

Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 13th Mar 2006 19:10
Quote: " just as i was about to use tempest in my game"

It's not exactly a showstopper is it? Besides, I think I've fixed it(although I'm waiting on confirmation from Hamish).

Tempest - P2P UDP Multiplayer Plugin - 70%
Download the free version
Roxas
11
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 14th Mar 2006 16:51
Wow. I love your plugins.. And this is greatest one smoothly fps


There is something funny in picture? Then you gotta try out Moomins In MushroomForest game!
Sergey K
13
Years of Service
User Offline
Joined: 4th Jan 2004
Location:
Posted: 14th Mar 2006 18:00
the fps is even not up to the plugin..
i mean, i got tempest for long time already, and i didnt noticed it taking fps at all..

Opposing force
11
Years of Service
User Offline
Joined: 10th Aug 2005
Location: England
Posted: 16th Mar 2006 16:28 Edited at: 16th Mar 2006 16:29
Benjamin i need your help

In Dark Basic Pro I used Tempest and I must say it is rather good
your very useful cube example is all well and good untill I came to add collision. It is quite hard to explain so here is a code snippet...

+ Code Snippet

the collision code should definitely work. I use it in every single Dark Basic Pro project of mine with no error. But when I use it with your Dll and when the player cube bumps into another object then the player cube just goes back to the start position? Please can you help me, the collision works in Multisync just fine but not in tempest using this example, what am i doing wrong???

Felony Rise 10% complete
Middle Earth ORPG 2%
Van B
Moderator
14
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 16th Mar 2006 16:40
Quote: "But when I use it with your Dll and when the player cube bumps into another object then the player cube just goes back to the start position?"


Well...

Your function for the collision:

+ Code Snippet

This function sticks the object at X#,0,Z# when theres a collision right? - well in a function, these values are empty, your effectively putting the object at 0,0,0. You must have mixed up your variables somewhere, maybe these variables should be globalised? - something like that anyway.


Van-B

Put away, those fiery biscuits!
Opposing force
11
Years of Service
User Offline
Joined: 10th Aug 2005
Location: England
Posted: 16th Mar 2006 16:46
yes, but in all of my other projects the code works fine and stops the player object at its current position if it comes into contact with another object. In Benjamins other dll, multisync it works fine also. I don't know if you have Dark Basic Classic but there is a tutorial "tutorial5" that I base all my collision on.

Felony Rise 10% complete
Middle Earth ORPG 2%
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 16th Mar 2006 21:50
There are two problems with that code. The first Van B pointed out, and the other problem is that you are creating 10 objects, and starting them and yourself at the same position, which means you won't be able to move from the start.

Tempest - P2P UDP Multiplayer Plugin - 70%
Download the free version
Opposing force
11
Years of Service
User Offline
Joined: 10th Aug 2005
Location: England
Posted: 16th Mar 2006 22:16
oh, 10 objects ok but when i tested out that example on one PC using 127.0.0.1 i hosted the game then ran the exe again and joined the game but when i tried to join for a third time it failed? If it can handle 10 players (the example) then why can you only have one person join? Is is something to do with just using 127.0.0.1 that it only allows 2 instances running on the same computer?

Felony Rise 10% complete
Middle Earth ORPG 2%
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 17th Mar 2006 04:00 Edited at: 17th Mar 2006 04:00
It is because by default it doesn't use a port range for the client when connecting. You can specify a port range using: TSetLocalPort portFrom, portTo

Use it before TJoin. But only make sure it does that if you are connecting, and not hosting.

Tempest - P2P UDP Multiplayer Plugin - 70%
Download the free version
Megaton Cat
13
Years of Service
User Offline
Joined: 24th Aug 2003
Location: Toronto, Canada
Posted: 17th Mar 2006 04:03
Hey I like this. [nod smiley]

Opposing force
11
Years of Service
User Offline
Joined: 10th Aug 2005
Location: England
Posted: 17th Mar 2006 15:13
Quote: "
It is because by default it doesn't use a port range for the client when connecting. You can specify a port range using: TSetLocalPort portFrom, portTo

Use it before TJoin. But only make sure it does that if you are connecting, and not hosting.
"


cheers

Felony Rise 10% complete
Middle Earth ORPG 2%
blanky
12
Years of Service
User Offline
Joined: 3rd Aug 2004
Location: ./
Posted: 18th Mar 2006 11:38
Quote: "Ben, I was woundering, can you think of any problems that would arise if i were to run tempest AND multisync in the same application?"


Muahahaha... I did this in my FPS.

I only had one issue which I can't remember properly, but it was something to do with 'net connect' fiddling with the variables it was passed (the same variables that i would then try to pass to TJoin).

or was it net host & THost...?

... installing gentoo ...
Baggers
13
Years of Service
User Offline
Joined: 31st May 2004
Location: Yonder over dem dere hills
Posted: 18th Mar 2006 12:21
I don't see why you would really want to run both in one game...please enlighten me !

M.I.A is pending
Megaton Cat
13
Years of Service
User Offline
Joined: 24th Aug 2003
Location: Toronto, Canada
Posted: 18th Mar 2006 16:43
I wasn't aware Tempest and Multisync were 2 different tihngs...please enlighten me.

CTF Freak
11
Years of Service
User Offline
Joined: 27th Oct 2005
Location: In your base
Posted: 18th Mar 2006 18:50
Has anyone tried the example on v6.0b3 ?
When I tried it it was really messed up. I'm using v6.0b3

It stopped afer it got the ip then I put a "print" command and a sync and it got farther but it still stoppedwhen it showed the matrix.
Baggers
13
Years of Service
User Offline
Joined: 31st May 2004
Location: Yonder over dem dere hills
Posted: 18th Mar 2006 19:48
Megaton: Tempest is a peer-peer plugin whereas Multisync is server-client based they also use different communication protocols. (tempest uses UDP and i cant remember what MultiSync uses)

M.I.A is pending
SageTech
12
Years of Service
User Offline
Joined: 3rd Dec 2004
Location: Orlando, Florida
Posted: 18th Mar 2006 20:08
Quote: "I don't see why you would really want to run both in one game...please enlighten me !"


Its quite simple really, i plan to have a "waiting room" in the start of the game, and by choosing a game curently open, you would connect to that game via tempest, however, if i am going to have a global chat system, then using multisync is more ideal, as if the chat was in the tempest game, then id have to program a completly differnet chat system for the waitingroom as well.

If you're so smart, why are you reading my post?
Baggers
13
Years of Service
User Offline
Joined: 31st May 2004
Location: Yonder over dem dere hills
Posted: 18th Mar 2006 21:41
Well I can see how it will work but not why youd need to use both.
You can do waiting rooms, and global chat in tempest reasonably easily.

M.I.A is pending
Benjamin
14
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 19th Mar 2006 20:04
Quote: " Has anyone tried the example on v6.0b3 ?
When I tried it it was really messed up. I'm using v6.0b3"

There are some new strange bugs with 6b3 that cause it to not work. My advice is to revert back to a patch that works correctly with it. I was personally using 5.8 up until now because of the backspace bug in 5.9.

Tempest - P2P UDP Multiplayer Plugin - 70%
Download the free version
Sergey K
13
Years of Service
User Offline
Joined: 4th Jan 2004
Location:
Posted: 19th Mar 2006 23:27
im using 5.9 and everything is allright (about the backspace bug - it can be solved by the other way).

take a look at my chat in loop thread in 20 lines challange benjamin.
http://forum.thegamecreators.com/?m=forum_view&t=72995&b=11

thats the ways how to use input (with entry$()) in all of dbp versions..

keyboard hardware not found. press anykey to continue.
CTF Freak
11
Years of Service
User Offline
Joined: 27th Oct 2005
Location: In your base
Posted: 21st Mar 2006 05:00
Quote: "There are some new strange bugs with 6b3 that cause it to not work."

will this be fixed?
can I work on single player until its fixed?

Login to post a reply

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