Gamestudio Links
Zorro Links
Newest Posts
Data from CSV not parsed correctly
by jcl. 04/26/24 11:18
M1 Oversampling
by jcl. 04/26/24 11:12
Why Zorro supports up to 72 cores?
by jcl. 04/26/24 11:09
Eigenwerbung
by jcl. 04/26/24 11:08
MT5 bridge not working on MT5 v. 5 build 4160
by EternallyCurious. 04/25/24 20:49
Trading Journey
by howardR. 04/24/24 20:04
Zorro FIX plugin - Experimental
by flink. 04/21/24 07:12
Scripts not found
by juergen_wue. 04/20/24 18:51
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
3 registered members (wandaluciaia, AndrewAMD, 1 invisible), 765 guests, and 6 spiders.
Key: Admin, Global Mod, Mod
Newest Members
wandaluciaia, Mega_Rod, EternallyCurious, howardR, 11honza11
19049 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 8 of 11 1 2 6 7 8 9 10 11
Re: Make MMOLove, not MMOWar. [Re: Joozey] #225831
09/06/08 08:44
09/06/08 08:44
Joined: Jan 2006
Posts: 1,829
Neustadt, Germany
T
TWO Offline

Serious User
TWO  Offline

Serious User
T

Joined: Jan 2006
Posts: 1,829
Neustadt, Germany
Ra_k_net!

Keep in mind that there's only 1 man behind RakNet. Though he supports his customers in his forum (daily answers, other users help you too) and over icq. So even as a non-commercial dev you get pretty fast and good support. Also, the manual covers all of the code, plus he has video tuts to help the beginners.


*coffee*

Re: Make MMOLove, not MMOWar. [Re: TWO] #225855
09/06/08 12:26
09/06/08 12:26
Joined: Aug 2000
Posts: 1,140
Baunatal, Germany
Tobias Offline

Moderator
Tobias  Offline

Moderator

Joined: Aug 2000
Posts: 1,140
Baunatal, Germany
How about Enet, I found that recommended on many websites and it seems fast and stable:

http://enet.bespin.org/

When A7 anyway only uses the basic network functions, and uses its own encryption and server handling, it makes no sense to let us pay for Raknet when Enet can do the same.

Re: Make MMOLove, not MMOWar. [Re: Tobias] #225857
09/06/08 12:40
09/06/08 12:40
Joined: Oct 2004
Posts: 4,134
Netherlands
Joozey Offline
Expert
Joozey  Offline
Expert

Joined: Oct 2004
Posts: 4,134
Netherlands
Well, like I said is what the first page says:
Quote:
ENet is NOT intended to be a general purpose high level networking library that handles authentication, lobbying, server discovery, compression, encryption and other high level, often application level or dependent tasks.

That's why I think it's not suitable.


Click and join the 3dgs irc community!
Room: #3dgs
Re: Make MMOLove, not MMOWar. [Re: Joozey] #225948
09/06/08 20:28
09/06/08 20:28
Joined: Jan 2004
Posts: 2,013
The Netherlands
E
Excessus Offline
Expert
Excessus  Offline
Expert
E

Joined: Jan 2004
Posts: 2,013
The Netherlands
Hello there 3dgs community. Long time no post from me, I've been busy with other projects smile I really don't have the time to read this entire thread, but I just want to comment on some things. Forgive me if this has been said before.

Quote:
- Security Fixes (ie: the ability of a dummy GS client to crash ANY GS server)
Only in nonencrypted mode. A dummy client can not crash a server when you use encrypted mode for sending. Invalid packets, i.e. packets that don't come from a server or client of your project are then detected.

That's right, but for performance reasons you don't want to encrypt everything. So I consider this problem not solved. It is very important to note that switching to another library in the way that jcl envisions is not a solution either. The problem (as I mentioned several years ago when I found this flaw) is at the core of the 3dgs network architecture; if you use another network library to implement the functionality of "updating variables by index", you'll still have the same problem.

The only way to fix it "properly" is to break with the current 3dgs MP programming model. Something I don't think conitec would like to or should do (from a commercial perspective, not a software engineering one). The current model is pretty good for newbies (although it does regularly lead to confusion). What I propose is that conitec or an independent company/contractor develops a plugin binding RakNet, but with a new (well thought out) programming interface that is more suitable for large scale multiplayer games. This way you won't have issues with backwards compatibility and avoid licensing issues with RakNet (conitec only distributes a binding plugin, RakNet dll must be gotten from jenkins software).

Such a plugin should use the more traditional programming model where the user sends "packets" and not "variables". Packets can be inspected by user code upon receiving them (to check what kind of packet it is, and then to see if it is within the range of allowable values). Basicly just stay close to RakNet's interface by writing a thin C-style layer over the C++ RakNet library. I have written such a plugin and it works well but unfortunately I am not allowed to distribute it.

Re: Make MMOLove, not MMOWar. [Re: Excessus] #225954
09/06/08 21:37
09/06/08 21:37
Joined: May 2008
Posts: 301
Oxy Offline
Senior Member
Oxy  Offline
Senior Member

Joined: May 2008
Posts: 301
like I stated ealier, make a "pure mode" low level
networking mode,
that concentrates on transmitting raw data
from A to B.

The rest is up to the user the program the functions to use it.

the whole 3dgs multiplayer concept
(entities updates by the server, all running in
a certain "level") is the problem.

Re: Make MMOLove, not MMOWar. [Re: Oxy] #226001
09/07/08 06:40
09/07/08 06:40
Joined: Aug 2000
Posts: 1,140
Baunatal, Germany
Tobias Offline

Moderator
Tobias  Offline

Moderator

Joined: Aug 2000
Posts: 1,140
Baunatal, Germany
The MP concept is not the problem. You need not use it, if you want not to send variable or entity updates, just send packets and dont send variables and switch off entity updates. But for beginners starting with MP, the concept is good.

I think what's lacking was encryption/security that seems implemented now, and then server to server communication. Updating only clients in range is not necessary I think because I'm with Excessus here, this can be programmed by the user.

Re: Make MMOLove, not MMOWar. [Re: Tobias] #226021
09/07/08 11:54
09/07/08 11:54
Joined: Sep 2003
Posts: 9,859
F
FBL Offline
Senior Expert
FBL  Offline
Senior Expert
F

Joined: Sep 2003
Posts: 9,859
When disabling automatic updates you'll run into problems when new clients join.
The entities won't be updated correctly leading to weird results.
To overcome this you either need to workaround a lot or enable automatic updating for a short time so the model file and the like are adapted. After a few waits, disable all automatic updating again. This was my approach for the last time I tested MP.

It would be nice to have another implementation which takes care of removing disconnected client player entities and initially updates player entities of newly joined clients (even when further automatic updating is disabled) without having to fiddle around with such tricks and workarounds.

Re: Make MMOLove, not MMOWar. [Re: FBL] #226063
09/07/08 17:46
09/07/08 17:46
Joined: Aug 2000
Posts: 1,140
Baunatal, Germany
Tobias Offline

Moderator
Tobias  Offline

Moderator

Joined: Aug 2000
Posts: 1,140
Baunatal, Germany
It already takes care of that, or so I think, with the join and leave event of clients.

Re: Make MMOLove, not MMOWar. [Re: Tobias] #226076
09/07/08 18:58
09/07/08 18:58
Joined: Sep 2003
Posts: 9,859
F
FBL Offline
Senior Expert
FBL  Offline
Senior Expert
F

Joined: Sep 2003
Posts: 9,859
It does - but you have to turn on automatic updates.
That's annoying if you only want to have things updated automatically upon join/leave (you have to take care of that on all connected clients, otherwise you could jsut use connect/disconnect events)) but want to do the cyclic updates manually.

If you don't believe me - try it out.

Re: Make MMOLove, not MMOWar. [Re: FBL] #226136
09/08/08 07:05
09/08/08 07:05
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
We can implement a flag for activating entity updates only when a client joins. I'll add that to my list. However, when you update entities anyway by script, why don't you do that with the same script when a client joins?

Page 8 of 11 1 2 6 7 8 9 10 11

Moderated by  aztec, Spirit 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1