TCP/IP for MMPOGs?

Started by
26 comments, last by stodge 21 years, 7 months ago
Are there any specific articles on the server implementation of UO?
Advertisement
My guess is they make it "seem" smooth by the use of prediction on the client side...so even if your tcp packet has to be resent causing half a second lag or whatnot, your character has already started moving etc. so you don''t see the lag.
The only information available (that''s I''m aware and you''re like the millionth person to ask) on the UO servers is how they''ve set up their systems (it''s a sever farm). The only way to get an idea of how their messaging system works is to fire up a packet sniffer and log on.

MMO programming is the one area where you can''t look at someone else''s source because

a) it won''t apply to your game
b) it''s a security hazard

You just have to learn concepts and then figure out how to apply them to your specific project without anyone holding your hand.

Even if you packet sniff you probably won''t figure anything out that''s useful because it''s more than likely encypted and you can''t watch it in real time to see what data comes accross when you push certain buttons.

Even if it''s not "encrypted" it''s probably meaningless data. It''s like DNA without RNA. Just a bunch of seemingly random numbers with no way to know how it''s interpreted.

Ben


IcarusIndie.com [ The Rabbit Hole | The Labyrinth | DevZone | Gang Wars | The Wall | Hosting | Tiberian Merchandise!!!! | GameShot ]
Wasn''t there an open source UO server out there?
(Not sure if it was actually open source)

Also, opening the source of a MMOG shouldn''t hurt security at all, assuming the program was properly designed in the first place.

I also doubt the UO encrypts its packets, encryption doesn''t prevent hacking a game in anyway.
"assuming the program was properly designed in the first"

It''s not a design issue. You just don''t open up your protocol for a game of that magnitude. It''s just asking for trouble and serves no purpose.

What possible reason would a company have for giving you a list of message types and byte interpretations?

Unless they planned on letting people write their own clients which isn''t going to happen.

Ben


IcarusIndie.com [ The Rabbit Hole | The Labyrinth | DevZone | Gang Wars | The Wall | Hosting | Tiberian Merchandise!!!! | GameShot ]
My main point I was trying to get across is that there might be a lot of information out there about UO protocols that were discovered by people trying to reverse engineer UO.

I agree that a company has no need or use to open up their protocol. However, my comment was to say that even if the protocol is known by the public, it should have no negative conquences. If by knowing the protocol, someone can negeativly effect the game, then the system as a whole is broken.

Network protocols can and will be reverse engineered without help from the creators. Hiding them won''t protect you from people decoding them.
"Even if you packet sniff you probably won''t figure anything out that''s useful because it''s more than likely encypted and you can''t watch it in real time to see what data comes accross when you push certain buttons."

People do, how do you think the EQ and UO emulators came about? Granted its hard, but with as many as packets that get sent and the fact that you CAN hit a button and see a packet get sent because of it, it is possible.

Just have to look for patterens and use a lot of trial and error.

-=[ Megahertz ]=-
-=[Megahertz]=-
Bah. When I was playing UO the new data format/encryption protocols were broken within hours of a patch coming out and all the popular cheat tools / emulators were updated and ready.

You don''t publish your protocol so you don''t have to support it and when people bitch about thier protocol bots getting broken you can tell them to go take a hike. If you think going to a lot of effort to do fancy encryption and protocol shuffling is actually going to stop anybody you''re just fooling yourself and wasting dev time. There are plenty of people out there that will have more fun breaking your protocols then they do actually playing the game.

If you don''t want people seeing data they shouldn''t, don''t send it to them. Pretty much every game out there breaks this fundamental rule. Instead of putting futile effort into keeping people out of the protocol have your designers work on in-game sleight-of-hand and fiction to cover the lag needed to send the data only when it is needed and not before.
-Mike

This topic is closed to new replies.

Advertisement