PDA

View Full Version : Horrible Coding


Legal Fish
07-24-2006, 07:47 AM
Do you plan to fix the very, very poorly written code of the game? Cliff, the man behind the windower, has pointed out that FFXI's coding for the PC is one of the worst he has ever seen as a programmer. The very same Cliff, was able to develope a tool that could inject information into packets. He refuses to share it with anyone, but if he were to release it, FFXI would be broken within a day. Banning players for things like hacking their position should only be a temporary fix, and sometimes only ends up banning innocent people who happened to be DCing while moving. The only way to stop hacks would be to fix/encrypt the messy coding of FFXI. Will this ever be done? Are you aware of how poorly it is written?

Mhurron
07-24-2006, 08:02 AM
Ya the best way to get a question answered is to start of by insulting them. On top of that, everything everyone holds up as proof the guy who wrote the windower is a god of programming, is really all quite simple. Packet injection is very simple, well known technique for which many legitimate tools exist.

kuu
07-24-2006, 08:15 AM
They probably know it themselves.

How can you not... Dispite that it's the cruelty of the real world, where management doesn't budget you enough money/staff to support a rewrite of windows port and Updates/new features.

Even if the bridge is burning behind you, you keep running foward.

A better question to ask is if there are any plans to fix the long standing minor problems in windows port like the Graphics driver glitches.

Balfree
07-24-2006, 08:17 AM
Yep, and when i say my burgers are the best in the world, everyone should believe me because i am known as the most reliable person ever. Seriously.

Feba
07-24-2006, 08:20 AM
FFXI is very poorly coded, many people have pointed this out, not just cliff.

It's not an insulting question at all, it's simply the truth.


Any MMORPG that can be hacked by using an extremely simple tool that comes with your PC, by any random Joe, has problems.

DakAttack
07-24-2006, 08:23 AM
People need to stop asking stupid questions out of spite.

FFXI is old, there aren't going to be any overhauls of the graphics or programming. SE is going to deal with what they have, and continue to work on their next project. I doubt they'll make the same mistakes twice.

Feba
07-24-2006, 08:24 AM
The programming isn't because FFXI is old, it's because it's just poorly done.

Legal Fish
07-24-2006, 08:25 AM
People need to stop asking stupid questions out of spite.

FFXI is old, there aren't going to be any overhauls of the graphics or programming. SE is going to deal with what they have, and continue to work on their next project. I doubt they'll make the same mistakes twice.

Then why do games older than FFXI are harder to hack? It is not age, it is simply poorly written. An issue that should be a main focus if they plan to keep the game alive for more than another year. A (read: easy to use) packet injecting tool will come soon enough and the game will break worse than Diabolo 2.

DakAttack
07-24-2006, 08:26 AM
Either way, it's not going to change.

Then why do games older than FFXI are harder to hack? It is not age, it is simply poorly written. An issue that should be a main focus if they plan to keep the game alive for more than another year. A (read: easy to use) packet injecting tool will come soon enough and the game will break worse than Diabolo 2.

LOOK AT THE COMMUNITY

There are people here doing things for this game that people aren't doing for any other game, whether it be good or bad. These people would be doing the same for any game they would be playing, and they just happen to be drawn to FFXI.

Legal Fish
07-24-2006, 08:27 AM
Either way, it's not going to change.

Oh yeah, I forgot the point of this area in the forums. To not suggest stuff.

It's not going to chance if not one asks, but what do you know? You don't even seem to able to tell 'bad' and 'old' apart.

DakAttack
07-24-2006, 08:29 AM
Oh yeah, I forgot the point of this area in the forums. To not suggest stuff.

It's not going to chance if not one asks, but what do you know? You don't even seem to able to tell 'bad' and 'old' apart.

You have stupid questions and suggestions.

And when did I ever make the distinction between old and bad?

kuu
07-24-2006, 08:33 AM
It's partly right.

FFxi is old. Thus they are working with DX8, which really doesn't have some of the APIs that would of help.

And yes it's also very very very badly coded.

Basically it was never ment for windows...lots of things really make more sense on PS2.

They probably won't make the mistake again, as they are targetting windows for their next mmo, which is probably unlike ffxi.

So it's probably 30% developers that don't code in windows 10% legacy, and 60% bad managers.

There's only so much you can do with a rock handed to you, with limited tools, and a heavy schedule.

Legal Fish
07-24-2006, 08:45 AM
Oh right, it is acceptable that you are able to make your game run faster by simply changing the time of your internal clock.

You give no reason why it is stupid, simply saying "it won't happen". Sorry, that isn't an arguement.

Feba
07-24-2006, 08:52 AM
Of course nothing is going to happen if no one cares.



Sad fact is, FFXI's programming is -shit-.


Stop acting like a fanboy, this is a very important thing, if hacks become much worse, FFXI is going to crumble apart.

Balfree
07-24-2006, 08:55 AM
Edit:

I dont even care.

Mhurron
07-24-2006, 08:56 AM
FFXI is very poorly coded, many people have pointed this out, not just cliff.No matter how you do something there are going to be a hundred programmers that think they can do it a hundred times better and make it known by saying the current target of their wrath is 'poorly coded.' Windows is 'poorly coded.' Linux is 'poorly coded.' GCC is 'poorly coded.' WoW is 'poorly coded.' If it exists someone has called it poorly coded.

The best hacking tools are always the simple ones that come with stuff you already have. One of the reasons holding up that he figured out that a network app is susceptible to a man in the middle attack is such a joke. Its not like every network aware application has the same problem, oh wait, they do.

Legal Fish
07-24-2006, 09:00 AM
Apparently you do not understand...

If you change your internal computer clock while playing your game will move faster. You will run fast, elemental days will end faster, and I do believe that your boat ride will end faster.

No tools involved.

Feba
07-24-2006, 09:04 AM
I do believe that your boat ride will end faster.Possible, if the zone command is triggered by the clock instead of the server (which is possible)



FFXI is simply too client based.

Hamlet
07-24-2006, 09:06 AM
FFXI may be poorly coded for hacking (I'll take your word on it), but it has the best quality to resources-needed ratio I've seen in a game.

kuu
07-24-2006, 09:27 AM
FFXI may be poorly coded for hacking (I'll take your word on it), but it has the best quality to resources-needed ratio I've seen in a game.

Hacking and poor coding isn't exactly the same. They can be, but not directly. Infact it can make hacking harder due to it not doing what you expect it to do.

FFxi hacking isn't exactly that easy. People who just download tools don't know the degree of knowledge it takes to hack it. In some cases, it's oversight in SE's part, in others it's just a skilled hacker.

These aren't your adverage code monkeys here, it's pretty low level stuff most of the time.

Hacking doesn't mean bad, you can hack for good as well as for evil. Exploit is bad, enhancement is good.

Cliff + other's have hacked ffxi to try to do things like run at 60fps for instance,(i.e-remove lock)... but weirdness happened, and it created a weird sync issue(i.e. hack failed due to bad coding).

Maju
07-24-2006, 09:37 AM
FFXI may be poorly coded for hacking (I'll take your word on it), but it has the best quality to resources-needed ratio I've seen in a game.

FFXI barely uses your GPU at all. That's not good for the quality to resources-needed ratio. In fact, it's very very bad. Do you know why FFXI lags to hell with full shadows? Yep, because it doesn't use your video card properly.

Legal Fish
07-24-2006, 09:43 AM
People still don't understand.

FFXI is HORRIBLY PROGRAMMED.

Call it insulting or not, but SE needs to know that we care about it.

rsironko
07-24-2006, 09:45 AM
The only people who I want to hear complain about bad programming are people who actually know how. I don't think that many of you know C/C++. I doubt many of you even know Basic.

So Final Fantasy XI might be a little easier to hack... I don't see how that makes the game have "horrible coding". Of all the time I have played Final Fantasy XI, I have never come across a programming flaw.

Lag is not caused by bad programming.
The ability to hack the game fairly easily has nothing to do with FFXI being programmed poorly.

If FFXI is so poorly programmed, then why have I never... EVER come across a glitch in the game ANYWHERE. A poorly programmed game would be full of glitches and would often just lock up.

Legal Fish
07-24-2006, 10:02 AM
Would AH and /search not loading be a glitch? Let me just link a thread to Cliff's forums on a topic that explains it.

Ayrlie
07-24-2006, 10:08 AM
the game coding is horrible. I keep falling through the wooden planks of Kazham over by nomad moogle and by the weather checker. I sent countless number of complaints, and the problem still exists.

and some of the well known hacks are widely available over the internet. all you need to do is google "FFXI hacks" or "FFXI Bots" and there are thousands of hits.

Macht
07-24-2006, 11:00 AM
Then why do games older than FFXI are harder to hack? It is not age, it is simply poorly written. An issue that should be a main focus if they plan to keep the game alive for more than another year. A (read: easy to use) packet injecting tool will come soon enough and the game will break worse than Diabolo 2.

I'm curious what game older then FFXI has not been hacked? or which ones had a longer run then FFXI from being hacked? Most I know only lasted about 6 months before being hacked.

Double Post Edited:
FFXI barely uses your GPU at all. That's not good for the quality to resources-needed ratio. In fact, it's very very bad. Do you know why FFXI lags to hell with full shadows? Yep, because it doesn't use your video card properly.

I thought mine had only lagged because I screwed my video card with crap I did to it. At least that what the benchmark programs testing out various functions of the system and rating them had always told me.

When it's configured right I can be in full shadows, weather effects, and have models with twice the polygon count then the original had and works fine no lagging I see.

Quanta
07-24-2006, 11:55 AM
Apparently you do not understand...

If you change your internal computer clock while playing your game will move faster. You will run fast, elemental days will end faster, and I do believe that your boat ride will end faster.

No tools involved.

The same thing happens in WoW, and I imagine it happens in a multitude of other games as well if you fuck with your computer's clock speed during normal operations. Hell, when I played WoW using Cedega, it did it FOR ME. You should've seen how fast I was moving across Thunder Bluff, it was nuts.

Of course, what I realized was that it was a feature of my processor. In order to save energy and reduce heat buildup, the motherboard would underclock the CPU during times of low activity, and it would overclock to the settings in my BIOS as needed. I imagine games and other applications (or perhaps the OS) would compensate for this sudden change in clock speed so that animations and other operations executed normally, but since I was using a Windows program on a Linux OS, it did no such thing. I'm assuming it's on a per-application basis.

As has already been said, unless YOU'VE done the legwork and you're here to show us your findings, your question has no merit. Show us YOUR findings, and not the conjecture of somebody who hasn't released his data yet, if you want any kind of credibility.

You too, Feba.

Feba
07-24-2006, 12:00 PM
I was using a Windows program on a Linux OSWhich puts you in a very different situation from the majority of people who want a windowed mode.


the conjecture of somebody who hasn't released his data yet,If he released all of it, or any of us did for that matter, we might as well just give it to hackers. However, he has posted numerous times how crummy it is, the most recent being the way they handle networking.


none of the windower plugins would be possible if SE didn't put things in memory which we didn't use.

Kailea
07-24-2006, 12:08 PM
FFXI was coded for PS2, it originaly was not ment to be on PC, but they later released it anyway.
The codeing is bad for PC yeah, but for PS2 its pretty good.

FFXI acting they way it does on PC, is due to it being originaly for PS2.

Also calling it poorly programed, to the Dev Team is an insult, they worked pretty hard to get a game like this going, any programer would have to. How would you like it if you programmed a full MMORPG, just to have someone later tell you the programing sucks, you would not be to happy.

I could care less about the inside of the game, I log in, I can play, I dont have problems when I run the game, so I dont care.

The game does need some work, in terms of preventing hacking, but what games doesnt -.-

kuu
07-24-2006, 12:19 PM
FFXI was coded for PS2, it originaly was not ment to be on PC, but they later released it anyway.
The codeing is bad for PC yeah, but for PS2 its pretty good.

FFXI acting they way it does on PC, is due to it being originaly for PS2.

Also calling it poorly programed, to the Dev Team is an insult, they worked pretty hard to get a game like this going, any programer would have to. How would you like it if you programmed a full MMORPG, just to have someone later tell you the programing sucks, you would not be to happy.

I could care less about the inside of the game, I log in, I can play, I dont have problems when I run the game, so I dont care.

The game does need some work, in terms of preventing hacking, but what games doesnt -.-

Sorta sorta.

It's bad coded even as a port. Sometimes you have to wonder why they did is some obscure, badly coded way instead of standard windows coding, which would save time and problems....

You don't insult their intellegence by saying it. They know its there but blaming them is different.

The FFxi developers probably weren't that skilled programing in windows(they were put to work on PS2). If they had time and foresight it would of been a much better job.

Mostly to blame is lack of time/budget/staff.

It's like asking a math teacher to teach phyisics. Sure he can do it, and with time research, and resources, he can even do quite well. But if you just dumped it on him, of course he's going to be bad at it.

At this point, it will take a good amount of effort to "go backwards". SE would have to hire another set of staff to rewrite windows-ffxi, while the current developers keep cranking out new materials.

And that's probably more then SE is willing to pay.

Quanta
07-24-2006, 12:22 PM
Which puts you in a very different situation from the majority of people who want a windowed mode.

True, but it highlights the fact that the game was dependant on the system clock, just as FFXI is.

If he released all of it, or any of us did for that matter, we might as well just give it to hackers. However, he has posted numerous times how crummy it is, the most recent being the way they handle networking.

In all honestly, I doubt Cliff was the first to find all this stuff out. I doubt he's the last. It's probably been common knowledge in hacker groups for a while, kept hush-hush between dear friends, the data and it's associated programs only being distributed to a trusted few, in order to keep some script kiddie from obtaining it and giving everything away on some Geocities site.

Then again, things might be such a mess that Cliff, being a programming prodigy, was the only one who could figure it out. Not likely, but I'll humor you anyways.

none of the windower plugins would be possible if SE didn't put things in memory which we didn't use.

And what makes you think the TP information is something that isn't used? Given the number of operations per second the server needs to do in order to run the game, it makes sense to send some non-essential data to the client to take care of, such as parsing incoming text and replacing it as-needed with HP/MP/TP/PetTP/etc.

Just because the client hides the information from the player doesn't mean it's useless. It just means you don't need to see it.

kuu
07-24-2006, 12:36 PM
Just because the client hides the information from the player doesn't mean it's useless. It just means you don't need to see it.

No really, it's just darn weird, stupid, or lack of foresight to put those things in the client.

There is no logical explaination for it except rushed development + bad port.

Think of it this way, TP/MP/alliance etc etc etc are constantly updated. You party member hit, server calculates. Why it's spending extra time to tell you...we can't answer that.

It's like asking your mom where she is every 10 seconds...wouldn't it be better to ask her only when you need to know, or when she gets to specific location? If at all?

Macht
07-24-2006, 12:54 PM
Really, I doubt Cliff would be the only one to ever figure out that stuff. I'm really intrested to hear his statements on how horrible the network design is, being a certified network professional and crunching numbers to what their Website handles and how it performes they seem to be dead on to working at the higher performance range.

How the hell can he call it crappy?

DakAttack
07-24-2006, 12:57 PM
I don't see why this is suddenly an issue, it's been this way for years, since the beginning even! SE has done things exactly like this to keep their options open. Why is there a teleport pad in sky that doesn't do anything? One day it could. Maybe one day Samurai could have been given an ability to see the TP of others, but obviously that idea is down the drain.

Feba
07-24-2006, 01:00 PM
Given the number of operations per second the server needs to do in order to run the game, it makes sense to send some non-essential data to the client to take care of, such as parsing incoming text and replacing it as-needed with HP/MP/TP/PetTP/etc.Then why can people outside PT send you <hp>/<mp> with no difference?


And macht,i'll dig that up for you then

Kafeen
07-24-2006, 01:14 PM
FFXI is simply too client based.

No it isn't. When you're in largely populated area like lower jeuno you must notice that large amounts of lag. If you're not going to have some of the game processing client side then it needs to be done server side. That means transmiting more data increasing lag even more, FFXI does not need this.

Blaming the coding for how easy the game is to hack is easy to do but lets face it, it doesn't matter how well it is coded, someone is going to hack it, there're hacks out there for pretty much every game available, nothing is 100% secure. Sure, they could use high level encrypion but then everything needs to be decoded again, something which is pretty slow to do, espicially when you want to transmit data as often as you need to for a game, and I don't just mean for the client either, you're going to need the servers decrypting messages from thousands of players several times a second.

Feba
07-24-2006, 01:18 PM
Interestingly, one of the most simple things I could do (in terms of time required) would be to write a private server base for FFXI. Turns out, though, that this is rather stupid. FFXI is incredibly static, moreso than any other online game in existence, and you wouldn't be able to change the game at all. At most, you could tweak monster stats, and change what people say. But quests? static mobs/npcs in a zone? Items, doors, etc? The zone layout itself? It's all completely static and would require massively complicated client side changes to change anything. So basically, you'd be able to recreate FFXI as it is, with all its flaws. Don't kid yourself into thinking you could make it less laggy or anything. The reason for the lag and problems is completely due to fucking ridiculous clientside and network code.

For instance, they use UDP for essentially all communication with a zone server. For those who don't know, UDP is a network protocol where an individual message is not guaranteed to reach its destination. So with normal UDP if something like an outgoing chat message packet gets dropped, it just disappears forever. Most people who use UDP add Some sort of reliability mechanism, either in the form of a separate TCP channel (which is guaranteed), or via some sort of manual check system to ensure that all packets are sent properly.

Guess how SE does it? They just send "important" messages TWICE. (in the hopes that at least one will get through). Yeah, that's a good way to write network code. Where do these people learn to write this shit? Apparently the same place the network developers did for PSO. This sort of horrific protocol is representative of how the entire game is written. Don't even get me started on how they botched their encryption protocol. I'll only say one thing about it: Electronic Codebook for a STREAM, and with a broken algorithm on top of that. Jesus fucking christ.

Whoops. Got off topic a bit. From Cliff.

Macht
07-24-2006, 01:32 PM
Since none of the data sent your system is at all important (Meaning that it's a definite file like a download), then of course during normal game play UDP is far more effecient then TCP.

UDP even though unreliable has very little overhead compared to TCP. This means they can get more out with less worry. Just adds to my suspicion of the Server -> Client communication. This isn't a crappy design but an intresting one to attempt for performance.

Now if he proves that SE would be stupid enough to use UDP for the Update files then that would be a consern. Otherwise straight out UDP use as he states has been in games as far back as Quake. He's wanting an overpower use when something else is just as effective with less overhead.

The downside is with the UDP means your system and connections have to be of good quality. UDP just puts more emphasis on your network. I should also add that unless your network is really crappy the chances of a UDP not reaching it's source is not that bad. He makes it sound bad but it's within the 20-80 rule (For every 80% you have useful 20% is not).

It's a guiding business practice as long a decision is in that 20-80 rule then it is good, if beats that 20-80 it's excellent. You have to worry though if it reaches near a 40-60.

Mhurron
07-24-2006, 02:05 PM
First, why not take your public cliff wanking session to his own boards, I'm sure he could use an ego boost. It's difficult to keep saying your so much better then the programmers of a successful game when all you have is your say so.

Secondly: 'Guess how SE does it? They just send "important" messages TWICE.' Looks like cliff is clueless, this is how UDP networks work. Its just not that important that every single damn packet FFXI generates gets to the server, sending it twice is good enough. On top of that no, only stupid implementations where UDP was really a stupid choice have a side by side TCP streams. Why would you create a second, high overhead steam to give a UDP transmission something that works like an ACK when you could have gone with a normal TCP stream and a large or sliding window.

UDP is used when you A) need to move a lot of somewhat trivial data really damn fast, and B) reliability is handled by another protocol higher up the stack or by an application.

And just for the hell of it:
Without the overhead of checking if every packet actually arrived, UDP is faster and more efficient for many lightweight or time-sensitive purposes. Also, its stateless nature is useful for servers that answer small queries from huge numbers of clients. Compared to TCP, UDP is required for broadcast (send to all on local network) and multicast (send to all subscribers).
Common network applications that use UDP include the Domain Name System (DNS), streaming media applications, Voice over IP, Trivial File Transfer Protocol (TFTP), BitTorrent and online games.Seems like maybe SE's programmers have a better handle on things then cliff does.

When cliff creates an online game that is unhackable then he might have a leg to stand on and criticise others. Until then, he's just spouting hot air to inflate his ego.

Feba
07-24-2006, 02:14 PM
Cliff wanking? Macht asked me to post what cliff said, I posted it.


If you want to flame people, go back to alla, or go to BG.

Mhurron
07-24-2006, 02:18 PM
Oh I'm so sorry you take everything someone says personally, the entire thread is 'SE's programmers suck because cliff said so.' As for flaming, you're one to talk.

neighbortaru
07-24-2006, 02:26 PM
ugh, I can't believe I'm gonna have to lock a question thread...

AKosygin
07-24-2006, 08:28 PM
And throw it out too. Please restate your question appropriately and less hostile in a new thread.

Thank you,
AKosygin
FFXIOnline.com Moderation and Administration Team