![]() |
#41 |
Senior Member
Join Date: Oct 2002
Posts: 310
![]() |
Re: custom clients. Good or bad?
Wrong! Why? Because, as someone pointed out on the "first" page of this thread, the moment you create a protocol and someone decides they want the client to do something it won't, they are going to try to figure out how to talk to your server **without** your client. You still end up having people using broken code to talk to your system, and if any of those protocols involve "anything" that could effect game play in any way...
Your better off with an open protocol, not just because it means having good specs to follow, but because they will find bugs you miss, and come up with ideas you won't. Mind you, the appeal is there, its just, imho, its short term, limited and mostly illusionary. |
![]() |
![]() |
![]() |
#42 |
Member
|
Re: custom clients. Good or bad?
If someone uses a hacked client to access your game and some parts of it don't work, that's their problem. And open protocols don't necessarily have good specs, the MXP example being a good case in point. A custom protocol at the application level makes a lot of sense; the problem is just getting the client out to the end user.
|
![]() |
![]() |
![]() |
#43 |
Senior Member
Join Date: Oct 2002
Posts: 310
![]() |
Re: custom clients. Good or bad?
Didn't say having good specs is "automatic".
As for getting it out to the client... A lot of people end up pushing out things like Java clients. The problems being that a) if you use "real" java, or something similar, then the install of the engine is going to be bigger than any client download (unless they already have it for some reason, and b) you are relying on *their* libraries and engine to be stable, which they may not be. This especially becomes true when using anything in the Active Script line, like Jscript. You are fine, as long as the client doesn't introduce on-demand code. The moment you start adding and removing a large number of blocks of code, like, for example, in triggers, where you want to "temporarilly" run some bit of code that changes each time the trigger text varies, then garbage collection blows up on you, and you get a slow and persistent memory leak. As near as those of us that used to use them with Mushclient can tell, this is a **universal** problem with how Active Script based engines handle such on-demand code execution. Frankly, I am surprised that surfing too many web pages doesn't crash IE from the same bug, though, they may be doing something different, undocumented, or just "left out" of the instructions that everyone else uses to integrate the bloody scripts. In any case, I don't personally "trust" things that run on those languages. The underlying engines often have bugs in them, or odd implementation problems. And even the full Java seems to have those issues. Its taken multiple versions of some bittorrent clients to get them "stable", and not all of the issues with that where in the code of the client. Many where problems in how certain things, like memory, where being handled "in" the engines. At least with a compiled application, you can be fairly certain that the behavior will remain stable, in terms of how it worked when released, for as long as the OS it runs on still exists, or at least "supports" what ever libraries you ran it with. This isn't "quite" as certain with all the fancy, "You don't need to install nothing, just let the intertubes feed you the applet.", style stuff. |
![]() |
![]() |
![]() |
#44 |
Member
Join Date: Jul 2006
Name: Brandon
Location: Shelby Township, Michigan
Home MUD: The Builder Academy
Home MUD: 4 Dimensions
Posts: 144
![]() |
Re: custom clients. Good or bad?
What was the last version of windows you used? Telnet on windows has had ANSI turned on by default for about the last decade...
That's because that is what they're doing. |
![]() |
![]() |