Results 1 to 24 of 24
  1. #1
    Skaarj
    Join Date
    Nov 2009
    Location
    Europe
    Posts
    2

    Default Regarding the limit on Networking

    Not sure how to ask this... hmm, I'm not sure if I understood this correctly but there seems to be a limit on number of networking connections or players with this "free" version?

    I mean, is it possible to connect or use external modules or does this "free" engine has no possibility of having an unlimited networking? Say I want 1000 or more players?

    EDIT : I mean this : "Client-server model support for up to 64 players." ( http://udk.com/features-networking.html )

  2. #2
    Veteran
    Join Date
    Dec 2003
    Location
    Finland
    Posts
    5,997

    Default

    I think the limit could be bypassed with external "plugins", from what I've read on these forums... Could be wrong though. You're trying to create a MMOG I presume?
    Also known as Rask — http://www.ottorask.com/

    UT3 Levels: CTF-Austere (MSU P3 5th place)
    UE3 Tutorials: From Textures To Materials In UE3 Complex Fire In UE3

  3. #3
    MSgt. Shooter Person
    Join Date
    Nov 2009
    Location
    Denmark.
    Posts
    224

    Default

    if he ask's for 1000 or more players, the term is most likely MMO (as in massive multiplayer..blabla)

    And yeah, it could be done using TCPLink, search the forum on other subjects.

    Actually, you could have done that before making this post, considering its been answered (aswell) by Epic in here :P
    Theia Online (Under Construction) http://www.theia-online.com
    Sys: Intel Quad @3.4 Ghz, ATI HD 5770 OC Ed (pri), NVIDIA 8800 Ultra (PhysX), 4 Gig Ram, 3.8 TB total HDD.

  4. #4
    MSgt. Shooter Person
    Join Date
    Nov 2009
    Posts
    207

    Default

    Realistically, no. I'm sure you'll have some eager beavers pop in here and tell you that "in theory" you should be able to create various hacks to make this happen. But the truth of the matter is that the Unreal networking layer was never designed to support that many simultaneous users and without heavy modification to parts of the code that you don't have access to it simply will not do what you want. And the local server TCPLink hack is not fast enough to have a full on MMO networking system passed through it at any kind of reasonable speed.

    It may be possible to have a lobby system with 1000s of players in it that then are shuttled off into 64 max player instances, but that's as close as you're likely to get. TCPLink is fast enough for things like chat. Although I have not yet experimented with the UDK match making system or how easy/possible it is to make the server 100% authoritative in all important matters (without which your MMO is a pointless wasteland of cheaters).

    As an aside, expecting any engine to out of the box have a fully functional MMO scale networking layer is... to be polite, an unrealistic expectation.

  5. #5
    Skaarj
    Join Date
    Nov 2009
    Location
    Europe
    Posts
    2

    Default

    Yes, My question was related to MMO.

    In all honesty, I was just fishing the waters since I found UDK interesting. I agree with "makaze", we will be better off with our own engine since we'll have full control over it.

    In case of curiosity, http://www.TheLandsBeyond.net is what we are um... trying to create. ..an indie MMO ( which hopefully won't suck.. hehhe... ).

    Thank your very much everyone for the great answers.

  6. #6
    MSgt. Shooter Person
    Join Date
    Nov 2009
    Location
    Denmark.
    Posts
    224

    Default

    Makaze your missing the point

    Unreal and its internal networking has absolutely nothing to do with it.

    You will run a server and client on the users local pc, and THAT will do all the MMO client work.

    I fail to see how that is not fast enough, unless the TCPLink layer itself is lagging (or the users internet connection).

    [Game Client -> TCPLink Server (you create)] -> WAN -> [MMO server]
    [MMO server] -> WAN -> [TCPLink Server (you create) -> Game Client]

    You MAY want some sort of packet prediction, but thats another story.

    As i understand it, its similar to the Lineage II system, so i guess that dont work aswell (poor NCSoft !)

    Fact is, yes its possible, and since you can problem your client/server (local TCPLink layer) in c++ or C# or whatever it can be pretty fast.

    And for security, thats a hole chapter on itself, but if you have a mmo, run whats most imporant (data) on the server, not client side, but i wont sit here writing a intire book on that subject

    - Edit : Yes, you ofcourse have to program this yourself in unreal script and your preferred coding language (c++, C# ect ect).
    Last edited by Brexer; 11-08-2009 at 02:17 PM. Reason: Added last line :)
    Theia Online (Under Construction) http://www.theia-online.com
    Sys: Intel Quad @3.4 Ghz, ATI HD 5770 OC Ed (pri), NVIDIA 8800 Ultra (PhysX), 4 Gig Ram, 3.8 TB total HDD.

  7. #7
    MSgt. Shooter Person
    Join Date
    Nov 2009
    Posts
    207

    Default

    It's not the local TCP communication time that's at issue, that will be <1ms in most cases. Rather it's the cumulative time it takes you via unreal script to collect, serialize, unserialize, and act on the data being passed through the local TCPLink. You're essentially adding an additional, fairly inefficient, layer onto an already very performance sensitive and complex system.

    I agree that in theory with unlimited computational resources that it is possible, but realistically having it run at an acceptable speed is a pipedream, not to mention a nightmare to implement. If someone could get a fully functional game setup with even 64 players running like that I'd be fairly impressed considering all the technical hurdles they'd run smack into.

    I'd also argue that security as a primary concern should be thoroughly examined long before any code is put to keyboard. Unreal as is currently written is not a strict client/server architecture. I know there are some things that are controlled authoritatively on the server but have not fully explored the system to know if everything can be (and so far I'm thinking not)

  8. #8
    MSgt. Shooter Person
    Join Date
    Nov 2009
    Posts
    80

    Exclamation

    Extending the network capabilities with the usage of TCPLink would not be good even if it was high performing.
    There's no MMO out there that uses TCP for anything except for stuff like chat and other non time critical aspects. TCP in itself is very slow, this is why all games now a days use UDP (for all other aspects).
    Even if you were to create a seperate application with UDP/TCP to the game server and then connect to the game via TCPLink it would still be very slow. I have never used TCPLink, but since the documentations itself say
    A word of caution, this is not a high performance feature. Using it can have a serious impact on the game performance. The performance impact is higher when providing a service. So keep this in mind when using this functionality.
    then I must assume that it is quite slow and is not supposed to be used for time critical functionality and will definetly not be scalable enough to pull off being a pipeline for MMO networking.

  9. #9
    MSgt. Shooter Person
    Join Date
    Nov 2009
    Location
    Denmark.
    Posts
    224

    Default

    There TCPLink, and there UDPLink

    http://udn.epicgames.com/Two/UnrealSockets.html#UdpLink

    Anyways, i know some MMO's that use TCP only, and they are running fine.
    Theia Online (Under Construction) http://www.theia-online.com
    Sys: Intel Quad @3.4 Ghz, ATI HD 5770 OC Ed (pri), NVIDIA 8800 Ultra (PhysX), 4 Gig Ram, 3.8 TB total HDD.

  10. #10
    MSgt. Shooter Person
    Join Date
    Nov 2009
    Posts
    80

    Smile

    Quote Originally Posted by Brexer View Post
    There TCPLink, and there UDPLink

    http://udn.epicgames.com/Two/UnrealSockets.html#UdpLink

    Anyways, i know some MMO's that use TCP only, and they are running fine.
    Well the performance warning still applies. The implementation complexity is the same between udp and tcp. And tcp only mmo makes no sense. Since before you even get the acknowledgement of a previous package it has already been time to send several others. Since coordinate updates are sent continously, a couple of lost packages along the way does not matter.

  11. #11
    Skaarj
    Join Date
    Nov 2009
    Location
    Dundee, Scotland, UK
    Posts
    15

    Default

    I could be wrong here, as this is the first I've heard of TCPLink/UDPLink, but unless I'm mistaken, using TCPLink/UDPLink for networking would mean completely ignoring Unreal's system for network replication, and rolling your own system.

    This would be a non-trivial amount of work. You'd essentially have to write your own networking system in UnrealScript, and reimplement features in the engine yourself (such as deciding which clients need to know about each other, spawning actors on appropriate clients at the appropriate time, and replicating state, etc). This would most likely be slow as hell, and not scale very well, defeating the point entirely.

    To be honest, if I were you I'd question whether trying to write an indie MMO is a good idea at all. MMOs are very expensive to run, and very difficult to develop. Not to mention, the chances of attracting enough players to an indie MMO to justify this amount of effort, is pretty slim.

  12. #12
    MSgt. Shooter Person
    Join Date
    Oct 2008
    Posts
    119

    Default

    The provided netcode is optimized for up to about 64 players. I believe it's more about things like algorithmic complexity of the netcode and bandwidth than anything else. So if you want more, you need to optimize further where possible or roll your own.

  13. #13
    Veteran
    Join Date
    Dec 2003
    Location
    Finland
    Posts
    5,997

    Default

    Quote Originally Posted by neai View Post
    The provided netcode is optimized for up to about 64 players. I believe it's more about things like algorithmic complexity of the netcode and bandwidth than anything else. So if you want more, you need to optimize further where possible or roll your own.
    Is the 64 limit hardcoded or can it be changed on a gametype basis?
    Also known as Rask — http://www.ottorask.com/

    UT3 Levels: CTF-Austere (MSU P3 5th place)
    UE3 Tutorials: From Textures To Materials In UE3 Complex Fire In UE3

  14. #14
    MSgt. Shooter Person
    Join Date
    Oct 2008
    Posts
    119

    Default

    Quote Originally Posted by musilowski View Post
    Is the 64 limit hardcoded or can it be changed on a gametype basis?
    TBH I don't know, I haven't seen the code, but I don't remember any hard limits. Well, other than ie some assumption in UT3 script about expected max numbers of players, which doesn't matter when you're making a new game.

  15. #15
    Skaarj
    Join Date
    Nov 2009
    Location
    Dundee, Scotland, UK
    Posts
    15

    Default

    I think if you manage to make an indie game successful enough to have 64 players playing at once, you'll be doing pretty well. Aside from technical restrictions, it's pretty difficult to make an indie game that popular, and to make enough content to keep 64 simultaneous players happy.

    To be honest, while one could argue that it's not "massively" multiplayer. Depending on game content and persistence, I think you could make a perfectly good MMO (or at least pseudo-MMO) with only 64 simulataneous players per map.

  16. #16

    Default

    Quote Originally Posted by DragonSpawn View Post
    There's no MMO out there that uses TCP for anything except for stuff like chat and other non time critical aspects. TCP in itself is very slow, this is why all games now a days use UDP (for all other aspects).
    World of Warcraft uses only TCP for everything.

    If anyone is interested in TCP-based MMO servers you can always download MANGOS (a WoW clone server with source) and change the programming to run with your own game. WoW is extremely light on network traffic, ~10 meg per hour in many cases.

    The networking inside of UDK is designed for twitch games which is typically much more demanding than you average MMO.

    Indies can produce MMOs. Look at Minions of Mirth produced by 2 people in 9 months using the original Torque engine (that's a small miracle in itself ). Sure, it's not going to take on WoW with it's army of professional programmers and artists, but, Indie MMOs can be and have been done. You will need to be very dedicated and you will have to have some money to lease servers.

    As far as making money with an Indie MMO, I would recommend making it free but offering subscriptions for enhanced play features. Just make sure it's good and addictive. Remember, it takes a lot less revenue to support an Indie than it does to support Blizzard, etc..
    Last edited by Cheyenne; 11-11-2009 at 12:13 AM.

  17. #17
    Skaarj
    Join Date
    Nov 2009
    Location
    Dundee, Scotland, UK
    Posts
    15

    Default

    Quote Originally Posted by Cheyenne View Post
    Indies can produce MMOs. Look at Minions of Mirth produced by 2 people in 9 months using the original Torque engine (that's a small miracle in itself ). Sure, it's not going to take on WoW with it's army of professional programmers and artists, but, Indie MMOs can be and have been done. You will need to be very dedicated and you will have to have some money to lease servers.
    I'm not saying it can't happen at all, just that the vast majority of people that want to make an Indie MMO have neither the skills nor the resources to actually create one, and have ideas that are far beyond what a small team can create in a reasonable amount of time.

    Even for those that do manage to create one, I think breaking even on the investment of servers would probably be pretty difficult.

    If I wanted to create an MMO-style game with UDK (if such a thing is possible), I'd personally aim towards a 64 player game with a lot of persistence. Give the world and characters a persistent state that the server loads from a database.

  18. #18
    MSgt. Shooter Person
    Join Date
    Nov 2009
    Posts
    207

    Default

    Realistically there is little to no need for >64 players. Even in WoW it's very rare that you interact with more than 64 people at a time via anything other than chat. And TCPLink + a separate chat server is more than enough to unite all your separate 64 man instances, heck I'd argue that's actually a non-hack use of TCPLink.

  19. #19

    Default

    Quote Originally Posted by Makaze View Post
    Realistically there is little to no need for >64 players. Even in WoW it's very rare that you interact with more than 64 people at a time via anything other than chat. And TCPLink + a separate chat server is more than enough to unite all your separate 64 man instances, heck I'd argue that's actually a non-hack use of TCPLink.
    Depends on what kind of hardware resources are needed to run a single instance of a dedicated UDK server app. If you can't house enough players on a physical server to cover the cost of the server + bandwidth usage + etc and have some profit then that makes your idea financially unfeasible.

    MMOs are a balancing act of capacity per server, bandwidth management and technological wizardry. Something that is technically doable can easily fail the financials side of the equation.

  20. #20
    Veteran
    Join Date
    May 2007
    Location
    Above KillZ, Below StallZ
    Posts
    9,953

    Default

    In UE2, spawning a couple hundred pawns causes a crash as soon as a large quantity of them become relevant to a client. In UT3, doing the exact same thing results in pawns that the clients can no longer keep track of, and they never seem to get corrected, even if they go irrelevant then become relevant again. I'd expect similar things in UDK, although it may be different with AI vs PlayerController pawns.

  21. #21

    Default

    Quote Originally Posted by Blade[UG] View Post
    In UE2, spawning a couple hundred pawns causes a crash as soon as a large quantity of them become relevant to a client. In UT3, doing the exact same thing results in pawns that the clients can no longer keep track of, and they never seem to get corrected, even if they go irrelevant then become relevant again. I'd expect similar things in UDK, although it may be different with AI vs PlayerController pawns.
    Since that is the case then that would suggest a hard limitation that can't be worked around without source access. Given this, the question of MMO viability using UDK as the server would boil down to how many UDK server instances you could run on a single, reasonable box. A box would have to be able to support several hundred players at the very least to be able to make the financials.

  22. #22
    Redeemer
    Join Date
    Nov 2009
    Location
    Help-me!
    Posts
    1,256

    Default

    I'm sure a UDK server should never be used on a MMO.
    It's don't fit it.
    Lead Programmer
    It's the Only NEET Thing to Do

    Programming for non-fiction.
    I'm the function of my code. Conditions are my body and calls are my blood. I have input over a thousand lines. Unknown of bugs, nor known to work. Have withstand coffee to create many programs. Yet, those hands will never code anything again. So, as I pray, Unlimited Code Works.

  23. #23
    Veteran
    Join Date
    May 2007
    Location
    Above KillZ, Below StallZ
    Posts
    9,953

    Default

    Quote Originally Posted by Cheyenne View Post
    Since that is the case then that would suggest a hard limitation that can't be worked around without source access. Given this, the question of MMO viability using UDK as the server would boil down to how many UDK server instances you could run on a single, reasonable box. A box would have to be able to support several hundred players at the very least to be able to make the financials.
    Server itself doesn't really take all that much horsepower, from my experience. Even with large quantities of AI running the old pathnode-type-calculations. Of course, in most real MMO experiences, you're typically not going to have hundreds of players relevant at any given point, to a particular client, so it might well be possible. Someone really needs to actually sit down, build an area, and give it a shot, IMO.

    Once you get 50-60 decently detailed player models in view at any point in time, the graphics hardware on the clients becomes more of a problem than the networking ..

  24. #24
    MSgt. Shooter Person
    Join Date
    Nov 2009
    Posts
    44

    Default

    If you were to do something like that, you'd probably not want to use the existing Pawn support and logic. You'd want something a bit more lightweight.

    Add in encryption of your datastream, and it may be a tough task without source.


 

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Copyright ©2009-2011 Epic Games, Inc. All Rights Reserved.
Digital Point modules: Sphinx-based search vBulletin skin by CompletevB.com.