uMMORPG Official Thread

I don’t understand, you would rather we didn’t fork HLAPI and leave it abandoned for ever?

Unity is giving written permission and even encouraging people to fork it and modify it to make it better. When the author gives you written permission to modify the code, you are not pirating it at all.

Also, it is not like we are profiting from it. HLAPI CE is completely free.

@Che4Cuba @anon_97804643 I suppose we can use the HLAPI CE thread to discuss Telepathy and HLAPI benchmarks. @Che4Cuba if you still think we are wrong then please let us know on that HLAPI CE thread and how to reproduce your statements.

Let’s keep it to uMMORPG here to not stress out our moderator friends too much.

Since this part is uMMORPG related:

I never tried any of the uMMORPG community addons myself because I am too picky about using other people’s code, as anyone working with me on HLAPI_CE will happily confirm :slight_smile:
So the probability that I stole someone’s code without even looking at it is slim.

If you think I stole someone’s code in an addon, then please provide the place that I supposedly stole. And please give details on the ban that you mentioned, otherwise it’s just vague acquisations.

So back to topic, uMMORPG Progress: I have 3 smaller bug reports on my ToDo list, which will be investigated and fixed (if reproducable) in the next couple of days.

I would rather he stops focusing on debating with you and continues to work on his products.

2 Likes

One of the biggest problems of TCP is that it’s not designed for transmission of time-critical data. TCP is a stream protocol, consider a scenario where the client is sending player’s input at a high update rate. When a packet is lost the whole stream will stop until the packet arrives after being resent. On top of this, the server/client eventually will receive outdated information, and the more packets are lost, the more problems and awful behaviors will occur. In the multiplayer games with fast-paced mechanics, only the most recent data is acceptable. The data should be delivered (or not) as fast as possible. So no, TCP should never be used in games that are based on time-critical data.

TCP is acceptable only in games where you can circumvent latency and the data stalls.

Yes, it is. The data will be sent immediately instead of being buffered until it will worth to send.

3 Likes

I also would also disagree with the statement made by vis2k that UDP is having problems with lost data and that is the reason to go for TCP, what a bollocks, the network libraries that are around (including LLAPI) have systems in place to re-transmit lost packets if send over “reliable” channels.

I have a big sence of, why re-invent the wheel?
There are at least 6 network libraries ready available to plug into unity, instead you build some TCP socket library yourself on C# sockets, very nice and all but is it really nessisary?

perhaps in MMORPG, TCP makes sense because things have to happen in order and reliable, and you don’t care about network delays and holdups as nxrighthere explains.

in FPS or really any fast paced game this is not the case however, you need to only care about latest data, player state updates, and for events that HAVE to happen you can throw them over the reliable channel.

All of the libraries in nxrighthere’s benchmark are UDP. I don’t see anything wrong with having a TCP option in there too.
UDP is having problems with lost data by definition. This is how UDP’s default unreliable channels work, and since Unity’s new LLAPI will be fully unreliable, it will have data loss problems too. LLAPI has reliable channels, but they aren’t 100% reliable either.

It has an All-Cost-Delivery channel, which might be 100% reliable, but I don’t see the source code so who knows. I highly doubt that using LLAPI + AllCostDelivery is any better than using TCP, because that would actually be reinventing the wheel.

If you like UDP for your FPS game, then feel free to use UDP.
I decided to use TCP for my MMO game (hence the name of this thread).

It’s not like this is some completely insane thing to do either. Two of the biggest multiplayer games of the last decade are using TCP too: Minecraft and World of Warcraft.

Again, I don’t want to get into a full on UDP vs. TCP discussion, as we might as well start arguing about C++ vs C# next. I just wanted to have a decent TCP option and now there is one.

3 Likes

Big thanks to all the uMMORPG supporters. Here is our poster, I will frame this and hang it into my room:

4 Likes

I am convinced that you are some kind of real life wizard.

Thanks man, your work, and that of other contributors, is absolutely invaluable. It’s amazing to have such a real shot at getting a stable morpg out there.

I’ve been doing this as a hobby for many many years, and I’ve used dozens of engines and kits, big and small, and this kit coupled with unity has by far been my favorite.

Keep it up. :slight_smile:

1 Like

Thanks mate.

1 Like

Hello vis2k,

what do u plan concerning the audio part : homemade system or pick a tools from the assets store ?

and i m little bit confused about the network solution, what is included in ummorg 1.128 ? Which we must use ?

i must choose lts 2017.4.7f1 or 2017.4.9f1 ?

+++

Audio will be home made. Just a few sounds and simple Audio.Play scripts.
uMMORPG is on 2017.4.7f1 right now so I recommend that one.
Networking is confusing because we are in the transition period. For now, simply use HLAPI CE (see my signature) and you’ll be fine.

ok thanks.

Update: V1.129 released:

This version now works with the HLAPI CE Telepathy version, which will at least double CCU.

Enjoy!

Hi vis2k, I have a lot developed already (changed from the original uMMORPG code) and I was wondering about this new network update with Telepathy.
Is this going to require major changes to the game’s code or just simply start using the new “HLAPI CE Agnostic” to my Unity?
Also, next question, in your benchmarks here:

uMMORPG V1.129 Benchmark
UNET LLAPI: 16 FPS
Telepathy: 36 FPS

Why is it measured in Frames per Second? Isn’t this new “Telepathy” for the networking? That won’t get you better FPS will it haha? I’m alil confused :stuck_out_tongue: Please help me out! Thanks.

News: we are running our next community stress test today, targeting 200 CCU worst case, everyone broadcasting to everyone else.

The test will start 1-4 hours from now. If your computer can handle a few clients then please join our Discord: https://discord.gg/2gNKN78 and come to the #community-test channel.

We need a lot of people!

Edit: we ran 207 CCU, detailed results can be found in the documentation!
3609221--293365--195 ip removed.jpg

https://www.youtube.com/watch?v=Utl-dYShJAY

Requires 0 changes with current uMMORPG V1.129. Just replace the DLLs.

Networking benchmarks are on the repo site: https://github.com/vis2k/Telepathy
That frames per second benchmark was interesting too though, hence why I posted it.
UNET’s LLAPI seems to be really slow when calling Receive. Telepathy is a lot faster, hence FPS improvements too.

1 Like

News: uMMORPG is moving away from UNET, because Unity officially abandoned it.

3613867--293953--mirror_icon_500x128.png

There was no decent MMO Scale networking solution for Unity yet, so I made my own.
=> uMMORPG V1.131 now runs on Mirror & Telepathy.

Mirror is now a drop-in replacement of the previous HLAPI Community Edition. Make sure to [read the announcement]( Mirror - Open Source Networking for Unity page-16#post-3613867).

Here is how to update V1.130 to V1.131 manually:
(Don’t panic, if you have trouble upgrading please let me know and I will help you.)


When I started working on uMMORPG in August 2015, UNET was simulatenously the coolest and most buggy networking solution that I have ever seen. There were so many random bugs, like ‘Failure generating network code’, ‘ReadStringOutOfRange’ , broken SyncLists, broken SyncList Hooks, all of it.

UNET was not my responsibility, but choosing UNET for uMMORPG was. I apologize for all the networking bugs that we had to deal with during the last three years. I should have forked HLAPI from day one.

The good news is that uMMORPG is now fully vertically integrated. With Mirror & Telepathy, we now have control over 100% of the Networking stack. There are no more bugs that we can’t fix. We will never have to beg other people again. No more DLL replacements to get stable code.

Big thanks to @goldbug for figuring out all those Weaver issues.

From now on, if you download uMMORPG from the Asset Store, you will have stable, high performance MMO Scale networking by default.

After over 300 bug fixes, we can finally move on.

12 Likes

Great scheisse vis2k!!!
Loving it :slight_smile:

So, would this latest update be stable enough to starting building my mmorpg on?
Or should I wait? Are you planning on making other big changes soon that I should wait on before I make my game?
Let me know what you think! Thanks :]

edit: Should i revert back to unity’s default dlls before I use the latest 1.131 ummorpg to use mirror+telepathy ?

Yes. Any new networking bugs can be fixed now, there is no more big ‘black box’ risk anymore.

I recommend 1.131 with Unity 2017.4.7 LTS + Mirror

1 Like

You don’t have to. If you already have HLAPI CE, you can keep it. Mirror and old HLAPI CE do not interfere with each other. In fact, this is the setup I use for working on Mirror.

1 Like

Dialogue System for Unity & Quest Machine Addons

If you’re using uMMORPG 1.131+, you can download updated addons for the Dialogue System and Quest Machine here:

3 Likes