Unity's networking is DYSFUNCTIONAL.
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next
 
Post new topic   Reply to topic    Unity Community Index // Multiplayer Networking
View previous topic :: View next topic  
Author Message
hogus



Joined: 09 Jul 2009
Posts: 145
Location: Johannesburg

PostPosted: Tue Jan 12, 2010 2:33 pm    Post subject: Reply with quote
I'm pretty sure the forum moderators are bored of me injecting this into any thread that is vaguely related to the topic too. Rolling Eyes
Back to top
View user's profile Send private message
Quietus



Joined: 28 Mar 2008
Posts: 1324
Location: The sunken city of R'lyeh

PostPosted: Tue Jan 12, 2010 9:35 pm    Post subject: Reply with quote
andeeee wrote:
Just to let you know, I've requested a visit from a UT tech person to this thread and I'm now authorised to press it until it happens. You should get a response soon.




You hear that Higgy? When it comes to pulling teeth Andeeee is saying he has a bigger pair of pliers than you.
Back to top
View user's profile Send private message
andeeee
Forum Moderator


Joined: 19 Jul 2005
Posts: 6208
Location: Blackpool, United Kingdom

PostPosted: Wed Jan 13, 2010 12:57 pm    Post subject: Reply with quote
Quietus wrote:
You hear that Higgy? When it comes to pulling teeth Andeeee is saying he has a bigger pair of pliers than you.

Ooh, let's not start this kind of thing Wink

No, this has been passed to the dev team by me before and again by Tom more recently. However, it appears the dev team were unclear about who was supposed to be answering and nobody actually did. We've now tightened things up a bit, so that forum mods can poke the developers and clarify who should answer. The teeth-pulling pliers are available to Higgy and AntennaTree too, it just happened to be me who responded to the thread first. I'm not sure which of us is Curly, Larry or Moe, though Wink

_________________
None of you understand... I'm not logged-in here with you - YOU'RE LOGGED-IN HERE WITH ME!
Back to top
View user's profile Send private message
zumwalt



Joined: 18 Apr 2007
Posts: 1641

PostPosted: Wed Jan 13, 2010 6:19 pm    Post subject: Reply with quote
Robur, I am a blatent idiot for never asking you this before in either private PM's, Emails or in the thread, so I mise well fess up and ask here, what "exactly" are you trying to send data wise? How many itterations per second and are you throtteling the data to match a dedicated frames per second support?

Example for this would be, are you sending the players position information, transform information and a custom class of information that would include acceleration factors in your interpolation code? Meaning are you interpolating with a prediction based on latency in the formula every frame or are you doing it based on a fixed assumed frame rate?

The best I have seen are filters that take into consideration that the average player will not have any greater than 30 frames per second of data with a 115ms network connection delay throttled using the fixedupdate instead of the update. If you are not throttling your data and dealing with a fixed frames per second on all player base, you are most likely flooding the servers with way to much data, regardless if you are dealing with it based on a time stamp difference between the sender and the receiver within a given norm, you are still sending the data which is buffered, transmitted, received and translated, so in essance is still acted on.

Over time this will eventually cause lag and delays in information being properly used on the server and on the clients, especially in a broadcast set, it becomes exponentially worse by the increased amount of players to the game. This is a flat out right thorn if you have a dedicated game server not running in batchmode.

_________________
Hosted Server Solutions and Cloud Computing http://www.1and1.com/?k_id=21336950
Back to top
View user's profile Send private message
HiggyB
Unity Product Evangelist


Joined: 08 Dec 2006
Posts: 6131
Location: San Francisco CA USA

PostPosted: Wed Jan 13, 2010 7:58 pm    Post subject: Reply with quote
andeeee wrote:
The teeth-pulling pliers are available to Higgy and AntennaTree too, it just happened to be me who responded to the thread first. I'm not sure which of us is Curly, Larry or Moe, though Wink

I'm not sure either about the Curly/Larry/Moe situation. And FWIW, Andy has shown himself far more adept at using the pliers than any of us. So much so that we decided "bah, who needs a dental plan, we have Andy!".

Edit: and yes, we do expect some engineering eyes on this thread any time now, thanks for your patience everyone!

_________________
Tom Higgins - Product Evangelist at Unity Technologies ApS
http://unity3d.com | http://blogs.unity3d.com

Want to discuss my avatar? Do it here.

UNITE 2010, Save the Date: Nov. 10-12 in Montreal!
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger
larus
Unity Networking Developer


Joined: 12 Oct 2007
Posts: 167

PostPosted: Thu Jan 14, 2010 1:43 am    Post subject: Reply with quote
Hi Robur, the two bugs you submitted exhibiting strange behavior during network synchronization and also in Network.Destroy at the same time are in our database and will get processed. They haven't been closed and they won't be forgotten. I can understand your frustrations on the silence since you raised the issue and I'm sorry you were not at least informed your report looked valid and would be looked at.

The network synchronization issue you describe is of the worst kind, something bad happens randomly under some conditions. The bug report helps a lot but it will need a bit more processing where the issue can be 100% consistently reproduced in as few steps as possible. While it is still sitting in the bug queue the plan is to produce a solution for the next Unity release.
Back to top
View user's profile Send private message Send e-mail
DrHotbunz



Joined: 14 Feb 2009
Posts: 315
Location: Multiplayer Baseball Online

PostPosted: Thu Jan 14, 2010 1:54 am    Post subject: Reply with quote
And the plot thickens....
_________________
MBO BaseballTeam Leader
Open Source MMO Baseball - Download the entire MBO Source v0.2 @ http://www.mmobaseball.org
Back to top
View user's profile Send private message
DrHotbunz



Joined: 14 Feb 2009
Posts: 315
Location: Multiplayer Baseball Online

PostPosted: Fri Jan 15, 2010 2:15 am    Post subject: Reply with quote
Another day passes and Robur has not arrived to kick ass...
_________________
MBO BaseballTeam Leader
Open Source MMO Baseball - Download the entire MBO Source v0.2 @ http://www.mmobaseball.org
Back to top
View user's profile Send private message
Quietus



Joined: 28 Mar 2008
Posts: 1324
Location: The sunken city of R'lyeh

PostPosted: Fri Jan 15, 2010 2:24 am    Post subject: Reply with quote
DrHotbunz wrote:
Another day passes and Robur has not arrived to kick ass...


Robur has already stated he's lost faith in Unity's networking and moved on to using Lidgren.

The Unity folks have acknowledged that something is broken. I think that's all anyone really wanted, instead of silence. We simply have a choice. Wait until the next Unity release and cross our fingers, or do like Robur.
Back to top
View user's profile Send private message
Ethan



Joined: 02 Jan 2008
Posts: 167
Location: Munich (Germany)

PostPosted: Fri Jan 15, 2010 8:12 am    Post subject: Reply with quote
i am also going the raknet plugin way.
not only for the known reasons, also because of performance and stability

will share it if it becomes usefull

_________________
Coop Multiplayer Football Game
made with Unity Pro!
www.blobfoot.de
http://twitter.com/blobfoot
Back to top
View user's profile Send private message ICQ Number
robur



Joined: 13 Feb 2008
Posts: 346
Location: North Idaho

PostPosted: Sat Jan 16, 2010 9:15 am    Post subject: Reply with quote
Larus;

Glad to hear that Unity is interested in resolving these bugs. Very glad to hear that it is scheduled for the next release!

If you play Mars Explorer for 20 minutes or so with several other players, you or someone else in the game is practically guaranteed to experience the "No Connection" issue.

To facilitate the isolation and resolution of all the bugs discussed in this thread, I am providing Unity the complete project folders for the latest version of Mars Explorer, and for Mars Explorer's headless dedicated servers.

The complete Mars Explorer 2.21 project will be accessible through support ticket # 313286.

Mars Explorer's dedicated server project (along with pertinent client networking code and custom WiggleBox bug test projects) is available for all interested parties to download here.

All The Best,

-Aubrey



Others;

Quietus is quite right, I am very busy with other things (such as the 2.6.1 webplayer failure), upcoming Whirld 3 library, and release of Mars Explorer 2.21 (Be sure to check out the brand new Sky King world - it's awesome! ...And I did fix the buggy handling Zumwalt Smile

At this point, I honestly can't recommend the use of Unity's networking to anyone. I am looking forward to sharing my experiences once I have had a chance to delve deeply into Lidgren.

_________________
Aubrey Falconer ~ of ATI Design
Mars Explorer FTW!
Back to top
View user's profile Send private message Visit poster's website
zumwalt



Joined: 18 Apr 2007
Posts: 1641

PostPosted: Sun Jan 17, 2010 12:57 am    Post subject: Reply with quote
What was the fix to the buggy handling?
I am finding that in 4 different network libraries, Unity client simply stops sending data over time from the client, so I backed to a TCP/IP Sockets version that also experiences this when communicating between Mono's version of System.Threading and .Net version of System.Threading, something isn't right between the two different versions. I can't put my finger on it, but I can guarantee a connection from the client to the server, but Unity is simply throwing an invalid Thread message back to the thread state in Unity itself but I still get data from Unity because the thread is running, the port is open, the communication is happening, the server gets the message, but it is like a simplex connection.

I have gotten zero response back from Unity on this issue, and also with an editor bug issue that I have discovered with regards to the view frustum and transform.forward as another issue, I have zero problems out side of Unity with the network component in TV3D, and in 3Impact but Unity on the other hand, same code, same everything, simply dies. It appears to be Mono specific problems though, so I seriously doubt they will even bother to respond about either of these two issues since frankly it has nothing to do with Unity per say but the fact they are using a bug riddled version of Mono.

_________________
Hosted Server Solutions and Cloud Computing http://www.1and1.com/?k_id=21336950
Back to top
View user's profile Send private message
Quietus



Joined: 28 Mar 2008
Posts: 1324
Location: The sunken city of R'lyeh

PostPosted: Sun Jan 17, 2010 6:38 am    Post subject: Reply with quote
zumwalt wrote:

I have zero problems out side of Unity with the network component in TV3D, and in 3Impact but Unity on the other hand, same code, same everything, simply dies. It appears to be Mono specific problems though, so I seriously doubt they will even bother to respond about either of these two issues since frankly it has nothing to do with Unity per say but the fact they are using a bug riddled version of Mono.


They've admitted that it is broken and that's a start. However if what you're saying it true it's very depressing. It means it won't be resolved until the next major release of Unity includes a mono update. One that we'll have to pay money for?

We'll know for sure once Robur finishes converting to Lidgren. If he expends all that effort only to encounter the same issues he's going to punch a wall!

I would hope that the Unity folks have thrown a ton of resources at the problem and made it the company's top priority. Not just thrown in one guy's inbox. If not, they should do the right thing and simply remove networking as a core component of Unity's feature-set listed on the webpage.
Back to top
View user's profile Send private message
jashan



Joined: 09 Mar 2007
Posts: 1546
Location: Munich, Germany

PostPosted: Sun Jan 17, 2010 5:10 pm    Post subject: Reply with quote
I'm planning to do "larger-scale multiplayer" in the longer run and Traces of Illumination is kind of my testcase for that ... and Unity's built-in networking, while in my opinion, quite beautifully designed for what it was meant for ("make lower-scale networking somewhat accessible to the masses") just wasn't designed for "larger-scale multiplayer" (the bugs sure are annoying but I'm sure at *some* point in time they *will* be fixed but I doubt the main direction is likely to ever change towards anything larger scale and it's probably even questionable whether that would be desirable at all) ... I guess it just took me a very loooong time to really get this (it's not like UT is making a secret about its networking being meant for "low-scale") Wink

So ... I'm currently considering changing the networking-backend and moving over to Photon for the networking. I haven't decided for sure, yet - mostly because that means I'll not only have to "do a little porting" but basically have to re-design and re-write large parts of my networking-approach (just one example: I have 115 different RPCs ... that is "no big deal" in Unity but will probably be a nightmare in Photon ... and there's a lot of other aspects ... at least, fortunately, I'm not using buffered RPCs, Networking.Instantiate or NetworkView-synchronization ... lucky me Wink ).

With Unity's networking, basically, I've hit what I think to be a "solid wall" at around 80 or so players per server ... and Unity networking only supports connecting to a single server at a time (and that aspect is *very* unlikely to ever be changed; admittedly, I don't think that's something a lot of people really need, so for what Unity networking is intended for, there really is no reason to change that). There would be ways around that limitation (I could do server-transfers for clients and do "chat over multiple servers" via the backend database to which all servers connect). But ... that just doesn't feel like fun Wink so, while I haven't made the final decision, it's *very* likely that I'll move over (fingers are already tickling).


Anyways, regarding what zumwalt wrote about Mono:

Quote:
It appears to be Mono specific problems though, so I seriously doubt they will even bother to respond about either of these two issues since frankly it has nothing to do with Unity per say but the fact they are using a bug riddled version of Mono.


Mono 1.2.5 just plainly sucks and I can't wait to get my hands on a version of Unity with a "proper Mono framework". Like, another user just ran into an issue with Environment.TickCount (which is used by Photon) doing funky stuff around every second (going "back in time" two seconds - wouldn't it be cool if we could use this for actual time-travelling!? Wink ).

I'm not quite sure if this is related in any way to the issues with Unity's built-in networking, but I do remember having seen something similar with Unity's networking before (network timeDiffs acting very oddly). Maybe Larus could look into this (if you're using Environment.TickCount anywhere, it's likely that this has a very unpleasant effect on Unity's networking, at least on Macs).

So, in any case, whenever UT gets the current version of Mono injected into Unity, that will be one of the really bright days that will make it into the history of "The Wonderful World of Game Development" (I'm quite sure getting a recent version of Raknet and PhysX into Unity should also be pretty cool Wink ).

I don't mind if that's a major release and I'll have to pay for it - I've had so much fun with Unity 2.x that I'll be happy to send them over a little cash for even more fun with Unity 3.x (and I think one major release every two years is pretty decent ... except for: *please* keep up to date with Mono more frequently in the future ... one Mono update per major release just gets too painful IMHO) Wink

_________________
RaMtiGA 1/3: Traces of Illumination --- Experience the Unexpected!

Jashan's Developer Blog
Back to top
View user's profile Send private message Visit poster's website
Quietus



Joined: 28 Mar 2008
Posts: 1324
Location: The sunken city of R'lyeh

PostPosted: Sun Jan 17, 2010 6:40 pm    Post subject: Reply with quote
jashan wrote:
(the bugs sure are annoying but I'm sure at *some* point in time they *will* be fixed


The 'fixed' master server has been in beta for 1 year, 4 months and 1 day as of this post. I'd sure like to know how long since the set of relevant bugs were first logged in the database. Unfortunately, we can't seem to search fozbug.

jashan wrote:
I guess it just took me a very loooong time to really get this (it's not like UT is making a secret about its networking being meant for "low-scale")


There are some games that I think would still fall under your 'large scale' simulation, such as Planetside, that due to it's FPS twitch nature has player limits around what you say you're currently doing with your Tron game.

Sure there are some things that would help a great deal in terms of flexibility. You mentioned multiple concurrent server connections. Another would be the ability to have a separate server and client project.

But all in all, Unity's networking, if it actually worked as advertised, could still be capable of quite a lot.

Jashan, I don't believe however that there is any game engine in our reach that caters to 'large-scale' simulations. I think there's an Ryzom MMO engine or some such, but that's about it.

It's just too specific of a topic, with a legion of different approaches. Consider each MMO has it's own drastically different idea on an efficient application protocol, visibility/interest management, node partitioning and client transfer, etc. There is no once-size-fits-all solution like there is for an FPS simulation.

Photon seems like a great solution, I'm probably going to buy it once they clean up the documentation and examples. I think it's a great fit for your game as well.

But for all the people who would like to leverage Unity itself as a server for a project, if Zumwait is correct we're SOL. We can't quite replace Unity's broken networking with our own, if our listening thread chokes on it's own spew randomly. Unfortunately that population set includes me. Sad

p.s. You didn't mention though, what's causing the 90 player ceiling you ran into. I imagine we're talking headless server on osX.
Back to top
View user's profile Send private message
Post new topic   Reply to topic    Unity Community Index // Multiplayer Networking All times are GMT + 1 Hour
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Next
Page 5 of 10

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum