|
|||||||
This is a discussion on "Beyond Telnet" in the Top Mud Sites Advanced MUD Concepts forum : Are there any MUDs that have broke away from being telnet supportive? I'm not talking about MXP or mud clients-- I know most people use clients. I want to know if there are any muds that are impossible to use telnet on, and instead have either developed their own elaborate online Java client or require players to download a client to run their mud, etc. If yes, which MUD(s)? Or if not, have any of you MUD owners considered doing it?... |
|
You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our MUD community today! If you have any problems with the registration process or your account login, please contact us. If you are a registered member of the old TMS forums, please click here
|
![]() |
|
|
LinkBack | Thread Tools |
|
|
#1 |
|
Member
|
Are there any MUDs that have broke away from being telnet supportive? I'm not talking about MXP or mud clients-- I know most people use clients. I want to know if there are any muds that are impossible to use telnet on, and instead have either developed their own elaborate online Java client or require players to download a client to run their mud, etc. If yes, which MUD(s)? Or if not, have any of you MUD owners considered doing it?
|
|
|
|
|
|
#2 |
|
Senior Member
Join Date: Feb 2003
Location: Sweden
Home MUD: www.sharune.com
Posts: 359
![]() |
Our upcoming game www.aeonfalls.com will use a java based client. All other clients will be disabled and illegal to use.
|
|
|
|
|
|
#3 |
|
Senior Member
Join Date: Oct 2002
Posts: 310
![]() |
Don't bet on it. Hmm..
[code] function OnPluginPacketRecieved if <some Aeonfalls code> then send "proper response" return false 'Don't let client handle the line. else return true 'Clean non-server specific, let the client handle it. end if end function[/quote] That lasted about 5 seconds. Seriously. Something like Mushlcient, even if you stripped things down to UDP and built a special TCP/IP like system on top of that (some companies did that in the past for their systems) there is still the Simulate command: Sends data from the script to the client as though it was being recieved from the mud, for testing triggers and scripts. So, all you need at that point is a socket library and the script system that would support it. Lets see... Python? Yep. Lua? Yep. Others? Sort of, but you can't create threads in them to handle the inbound data properly, without locking up the client while waiting for the script. But heh, good luck trying. You might actually scare off enough flexible client lovers, like myself, to avoid someone hacking the system the day after its implimented. lol If not, then its a "lot" easier to update a Mushclient plugin to handle new codes, then upload it to the net, than it is to completely rebuild both the clients and the server to disable the previous system, which did get hacked. I am not sure its really realistic now to try to prevent people using other clients, not without changing the system to such an extreme that its not even possible to identify the differences effectively, never mind code around them. |
|
|
|
|
|
#4 | |
|
Moderator
Join Date: Sep 2002
Location: Mill Valley, California
Posts: 2,160
![]() |
Quote:
|
|
|
|
|
|
|
#5 | |
|
Moderator
Join Date: Sep 2002
Location: Mill Valley, California
Posts: 2,160
![]() |
Quote:
I suppose that's a viable strategy if you have the kind of money Blizzard (and their master, Vivendi Universal) has, but it's not feasible for small games companies. I wish you luck Hephos, but it's a paradoxical situation: The only way you're going to be able to prevent other clients in the long run is if you have few enough players that nobody cares enough to hack protocol. --matt |
|
|
|
|
|
|
#6 |
|
Senior Member
Join Date: Feb 2003
Location: Sweden
Home MUD: www.sharune.com
Posts: 359
![]() |
Well, it won't be that hard to detect users that use invalid clients (if we want to actively do it).
Simply add a new quick check that the server sends sometime during game play, and if the wrong answer is received a warning is sent to immortals. (This could be changed fairly frequently and without warning). This ID check could be changed VERY SIMPLY from our side, but on the illegal client side the user would need to sniff up the code (to know what is sent) before they log in every time and change the code in their client, or face a chance to get detected and banned/deleted. On their side it will be a pain in the butt. But very easy for us. However... i'm not so sure it is very wise to prevent other clients. We're still thinking about it. The main reason is to prevent triggers, bots and other boring things. |
|
|
|
|
|
#7 | |
|
Member
Join Date: Dec 2005
Posts: 33
![]() |
Quote:
Preventing triggers/bots and preventing other clients are virtually equivelent statements. |
|
|
|
|
|
|
#8 | ||
|
Senior Member
Join Date: Feb 2003
Location: Sweden
Home MUD: www.sharune.com
Posts: 359
![]() |
Quote:
Then we have other problems. Our client includes game specific things that other clients will have a very hard time to implement (although a very fanatic person could probably do it |
||
|
|
|
|
|
#9 |
|
New Member
Join Date: Jul 2006
Posts: 3
![]() |
Those MUDs are all over the place. All 4 of the ironrealms come immediately to mind because they are the only ones I (currently) know. There are quite seriously dozens, even hundreds, of others though, I just haven't found/tried them.
|
|
|
|
|
|
#10 | |
|
Senior Member
Join Date: Oct 2002
Posts: 310
![]() |
Quote:
1. Server side seed code. 2. Server side scrambler. 3. Client side scramber. Basically, the same you see in the bond movie involving GPS. A constantly changing, synced code, where both the code returned, and the code expected, change in a known way, each time you make a request for it. And that just makes it inconvenient, not impossible. As the_logos points out, this is basically like using an a DRM or encrption code, which would make it illegal under the DMCA for one person to solve it "then" provide others with that solution. But, is a mud "capable" of defending its DRM rights? Is it even worth it. If not, then your right back to, "All that needs to happen, is for one person the break the code." And all that takes is a proxy, which logs a sufficient number of responses for someone to derive the scrambler you use. I.e., anything from extremely trivial, to so complicated that the code to track both ends might result in the game lagging, on both ends, every time a request for the code is made. Worse, I doubt you will have encyrption experts on this, so the solution might even "look" complex, but be breakable with far less code and way less effort. So no, any client able to catch the packets, parse them for requests, and send back the proper response *won't* be detected, no matter how random the requests. That was my point. And even if you changed it frequently, without warning, "the client" still needs to get the new code, so it knows what to respond with. If they captured the code when it started the first time anyway, that won't matter. In fact, even if you changed it so randomly that two days had the same code for the last 10 minutes of the prior play and the first five the next day, variables in Mushclient plugins are "persistent" across executions. Worse, all they would need to do is wait a significant span of time, like only playing every friday, to make sure that they got a new code every time they connected. "Sniffing up" the code is so rediculously silly, in any context that you can guarrentee the players can get it at all, so as to render it either a) too rediculous and inconvenient for them to bother (like an email of the code for the day) or using some sort of automated sequence at start up, which is just as trivial to manage as send the code after you have it. I really don't think you understand what some modern clients are capable of, using just their standard functions, never mind added libraries. |
|
|
|
|
|
|
#11 | |
|
Senior Member
Join Date: Oct 2002
Posts: 310
![]() |
[quote= (Hephos @ Aug. 25 2006,04:43)]
Quote:
1. That could be a problem, but not impossible, just not something you can just glue something on and have work. Then again, if someone wanted to do so, its not hard to have the script make an OS call and run the help file. You just need to get your hands on the file. 2. Trivial, as long as someone uploads the maps someplace, or they are (most likely) FTPed from the server. Though, right now there is insufficient GUI support in Mushclient to manage it. I am actually working on an add-in that would include a form designer and common GUI elements. With LuaCOM I don't even need to reinvent the wheel when using a COM bridge to get events from the controls and once you can make a window, add controls to it, then capture events, you are only limited by what controls you can create. Fact is, if I was willing to ignore half of the client's users and did it in .NET, I could have all those for free, including the designer (well, as free as needing to install the .NET framework). 3. Trivial. 4. Trivial. 5. Very trivial. Next problem? lol |
|
|
|
|
|
|
#12 |
|
Member
Join Date: Oct 2005
Posts: 34
![]() |
I might add to this discussion that there is a rather large player base of visually impaired or blind users of muds and the like, and switching to a non-telnet client solution would affectively ban all blind players. I must say that it is rather agrivating to find a mud, get really excited about playing it, and then find out that you must use a provided (completely unaccessible) client... Grendel's revenge comes to mind.
![]() |
|
|
|
|
|
#13 | |
|
Senior Member
Join Date: Feb 2003
Location: Sweden
Home MUD: www.sharune.com
Posts: 359
![]() |
Quote:
Anyways I had the idea earlier to include some sort of feature to make a mud client that was aimed towards blind people. A generic client for any (telnet) mud. Was looking around if it was possible to get any kind of financial aid to produce one of those but couldn't find any. It just has to be somekind of place you can get aid from if you make free products aimed towards handicaped people... At least in our country (Sweden). |
|
|
|
|
|
|
#14 | |
|
Senior Member
Join Date: Feb 2003
Location: Sweden
Home MUD: www.sharune.com
Posts: 359
![]() |
Quote:
We simply send a single string encrypted on the server side that will be sent to the client any time during game play (random). The client will hold the decryption key hardcoded and will send a respons immediately as it receives the key. If no respons is given or the wrong one, a warning will be issued to the immortals of illegal client activity. Now, of course a user that wish to emulate the client can check every incoming data and try to find out which is the client id key. Then send back the correct decrypted string. But in order to do that they would need to do this (EVERY DAY before they log in with their illegal client *every time*) Or at least every time they can figure out our client has been patched/updated (which happens every day): 1. Decompile the client to find the decryption algorithms or keys. Or start the client and read every incoming data and figure out when the encrypted code is received and then work out the decryption for their own client (the code is sent random and could take hours to find it). 2. Recode/update their own client with the new id checks. If more than one person would use the illegal client, it will be a mess for them to make sure people do not log into the game with an out of date client, and get banned/deleted/whatever. For us, this would be very easy, we can update both the server and client with new encryption keys very easily. We can also change the whole client id system, or add smaller checks that are fired at certain times without any problem whatsoever. On our side its a <5 minutes work. |
|
|
|
|
|
|
#15 | |
|
Senior Member
Join Date: Feb 2003
Location: Sweden
Home MUD: www.sharune.com
Posts: 359
![]() |
Quote:
We can also make so that it is only sent when an immortal issues a command to scan for illegal clients. They would need to decompile our software to figure out what to respond with. Which isn't really legal. |
|
|
|
|
|
|
#16 |
|
Member
|
Wrong. In many countries, not only is it legal, it's actually explicitly protected.
|
|
|
|
|
|
#17 | |
|
Senior Member
Join Date: Feb 2003
Location: Sweden
Home MUD: www.sharune.com
Posts: 359
![]() |
Quote:
Nonetheless, it will be a hassle to decompile our obfuscated binaries to figure out the encrypted id checks everytime you wanna start your illegal client. |
|
|
|
|
|
|
#18 |
|
Banned
Join Date: Feb 2006
Posts: 153
![]() |
My first question is, what are you solving with this approach?
What problem is fixed by forcing people to use your client? I can tell you that I'm personally going nowhere near a precompiled binary some mud admins cooked up and try to make me run. The security implications of running such a program, designed with the kind of planning I've seen so far, are just an insurmountable object for my adoption. Is there a purpose to forcing the exclusive use of your client, other than a sense of control? I would also comment that not only do you discourage new players with such a hostile approach, you also are basically challenging every clever coder out there to figure out some way to defeat you. I think that no matter how smart and clever and dynamic your defenses are, your efforts to prevent the use of anything but your own client will be foiled by someone more determined to make you look silly. And the hackers have all the time they need to figure it out, and they only need to defeat you once per each client update you make. Personally I think it's a horrible waste of time and energy to do this, except maybe as an academic research project. If what you're actually trying to do is run a game, this just seems counterproductive to me. What's wrong with letting people use their favorite mud client? What do you gain by trying to ram your client down their throats? -Crat http://dead-souls.net |
|
|
|
|
|
#19 | |
|
Senior Member
Join Date: Feb 2003
Location: Sweden
Home MUD: www.sharune.com
Posts: 359
![]() |
Quote:
1. To prevent things we don't like in other clients such as scripting, triggers, bots (to make the list short). 2. To make players use the same software and have the same "basic" tools available. Rather than having heavy scripting doing the playing, you should do it yourself. 3. Get a "sense of control" as you put it. The reason we would NOT enforce our client as only option: 1. Might loose a bunch of players that wouldn't use anything but their particular mud client. Horrible waste of time? As i said, this "client check" is a 5 minute hack on our side (or probably less). Its a terrible much more work on the "hacker" side trying to continually update their clients as we daily patch our software. It all boils down to if we want to enforce our own client or not. At the moment, we're probably going to do so. It is a TERRIBLE amount of work to get our game working for any standard mud client. The game is build upon a custom client GUI and it isn't going to easily be working with any general telnet implementation. |
|
|
|
|
|
|
#20 | ||
|
Legend
Join Date: Apr 2002
Name: Richard
Location: München
Home MUD: God Wars II
Posts: 1,935
![]() ![]() |
Quote:
|
||
|
|
|
|
|
#21 | ||
|
Senior Member
Join Date: Oct 2002
Posts: 310
![]() |
Quote:
[code] Server> function send_update send Current_Seed end function function send_request send Time end function function recieve_code (Client_Code) if Client_Code <> Current_Seed + Time * 3 then call Report_Bad_Client end if end function Client> function update (Seed) set Current_Seed = Seed end function function seed_requested(Time) send Current_Seed + Time * 3 end function[/quote] Now, the test itself is 100% random. The method used still needs to sync, based on what "time" the server thinks it is, so the correct response is returned, but the method used to get it could be a complex algorythm, not just "Current_Seed + Time * 3". Understand what I mean? See, this could work, without completely ****ing off the player base. The problem with your approach is that, unless I am missing something, you have to download an update to the client every day. It would certainly frustrate me, since I don't have anything but dialup. It might still bug people that have better connections. And there are problems with you making mistakes in the client, which make it fail with the server, bugs that can cause crashes in the client, etc. Every time you have to change the binary of the program to adjust the encryption, you risk having and entire mud full of players wondering, "Why can't I connect?", or, "Why does by client keep crashing." And, as someone else pointed out, the minor form of safeguard you are talking about "may" be covered in some countries under "interoperability" statutes. A full encrypted system, which uses a clear algorythm, would be covered under either the DMCA or other legislation, including that it other countries, where encrypting a few bits may not quite qualify in that country. And you "need" to consider all of those things. The mud I play on is running in Sweden and populated by people from Sweden, England, Canada, the US and I think even one Australian. Exactly "which" countries legal stance covers you attempt to prevent duplication of the client? Probably half the players "may" be on dialup, since its one of the few things you can play that work right over it, so constant downloads of patches is "not" going to make those people happy. I know at least two people, out of about 100 "active" players on the mud I play that use text readers, and several others that have worked on tying them into Mushclient, so they can use it. And then, as I mentioned, there are all the things that go wrong. Now, personally, the mud I play one has **very clear** guidelines for botting, and people *have* been permanently banned for doing so. Scripting they don't care as much about, as long as it only provides information to the player and "never" acts as proxy to their own input. Harder to catch, but people are "still" caught at it. I happen to be one of those that use various scripts to help me play, **none** of which directly send anyting to the mud itself, unless I specifically type something to initiate it, and even then, most of it is indirect stuff, like changing my description based on my mood, custom random emotes, etc. There is no way in hades I would use a client that cut me off from the ability to do this. I doubt "anyone" that plays on my mud would, no matter what "features" the client included as standard. In fact, most of the people there now use Mushclient, "precisely" because, even though most don't use its scripting at all, even its basic features tend to do more than most other clients. I find it hard to imagine what could or would make playing some place that uses such a client would "possibly" make it worth all the hassles, unless the process by which the clients are authenticated is 100% transparent. But nearly any such system "can't" include the sorts of updates you are talking about, nor are most of them impossible to hack. |
||
|
|
|
|
|
#22 | |
|
Member
|
What about absolutely no telnet support at all? I think what most of you are assuming is that the MUD's client would be a normal MUD client clone-- just without all of the advanced trigger and scripting abilities. I'm not a coder (yet), but it seems like it would be possible to send the MUD information via another way instead of telnet, making zMud and MUSHclient nearly impossible to use since they are just complicated telnet clients AFAIK.
Either way though, I suppose that there is always a way to get around it. I would think that it's possible a person could run the MUD's client that would take care of the encrypted ID checks while running their own program that could read the parsed data and run triggers or scripts off it. I can't imagine that there would be many such players hacking a MUD's client just so they can use MUSHclient's features instead. I could write illegal triggers or scripts for the MUD I play, but I can't reverse engineer, decrypt, etc. If there were less players hacking your custom client than breaking your botting rules, then it seems like a worthwhile idea. Of course it's not 100% cheatproof (what is?), but I really think it would reduce it. Quote:
|
|
|
|
|
|
|
#23 |
|
Posts: n/a
|
KaViR,
I did notice some of the blind-player config options available on Godwars II when I tried it out. Do you think maybe you could explain some of the mechanics of how blind people play? This is very interesting, since it seems like a pool of players practically guaranteed to remain through whatever the MMORPGs can hurl at the MUD community. But how does it work? Voice synthesizers? I would think that would get old fast, unless the MUD were thoroughly tweaked to give the most info in the least words. Even GWII which apparently has taken blind players into consideration, I can't imagine how fast a voice synthesizer would have to babble to keep up... |
|
|
|
#24 | |
|
New Member
Join Date: May 2006
Location: Los Angeles
Home MUD: Deckeon
Posts: 12
![]() |
Quote:
|
|
|
|
|
|
|
#25 | |
|
Senior Member
Join Date: Oct 2002
Posts: 310
![]() |
Quote:
Now, because of some new features in the client itself, its both much easier, and much harder, to generate such GUI elements. Easier, since I now can get more direct info on the client, harder because I would need to use only the 1-2 supported languages that work properly with such elements, Lua and Python, and because I have since discovered that the standard ActiveX version of system controls, including those lovely checkboxes I would need to have to duplicate Aeonfalls' interface, are DRMed (sort of). If you don't own a version of VB 6 or earlier, you don't have the license installed to use them completely. You "could" hand code all the element designs into a plugin, so they automatically adjust the client and GUI windows to match (with minor exceptions, like the Hit/End/Mana/Bal display, which I am not sure I could shoehorn into the actual client window... However, my intention was to set up a "design" plugin, which would let you set up your own layouts, so someone could duplicate any system at all. The problem of course.. Is that you can't use "design mode", where you drag and drop, then resize your controls, using the mouse, because you need a) the VB OCX file *and* the registry entry that licenses you to use those in design mode. I might be able to create them in run mode, then switch to the later (maybe), but haven't tried, because I don't know C++ beyond hello world type stuff and "at minimum" the window you place controls on would need to be hand coded, since there is no such thing as an ActiveX "form" window, which supports design. Worst case, you still can't use the OCX's design mode features, so you are stuck custom making "all" controls you plan to use. This problem is the "only" thing keeping me from duplicating the client in that link (well, other than not knowing what data is sent to update its GUI system), within a matter of a few hours. Thing is, some of us know we could manage the same, with the flexibility of Mushclient, have discussed it, occationally some have designed specialized ones for specific muds, but its simply that no one has put it all together. Would also help if there really was a standard ascii range TTF font, which everyone agreed to use, instead of a dozen, less readable, alternatives, only a few of which support the set that Windows jokingly calls the "System" font, and even then "only" as part of their unicode ranges. And to make this even more fun, if you don't have access to that range in the client (such as using UTF-8 instead of a form that doesn't prevent use of some the unicode characters), is that they can't seem to agree on what characters "should" be in the 127-255 range of the ASCII set, or where the undefined "gaps" should be in it. Nor, to make things even more fun, does the stuff they do agree on "match" the OEM system font that all PCs have used since practically the first display card for the first PC was ever made. But that is a completely different gripe. lol |
|
|
|
|
|
|
#26 | ||
|
Legend
Join Date: Apr 2002
Name: Richard
Location: München
Home MUD: God Wars II
Posts: 1,935
![]() ![]() |
Quote:
Quote:
But apparently you can get used to it, just as a sighted player can can get used to picking out the useful information at a glance. You can even skip to the end of a sentence, which is useful when you know what it's going to say. Still, there are ways to make it easier for the blind player. A way to switch off the prompt can make a big difference. The ability to set aliases to show important information, so they don't have to go through the spam of the entire 'score' screen every time they want to check their hp. Things such as colour and table layouts are pretty useless for them, so providing more screen reader friendly ways of accessing that sort of information can also be a big help. |
||
|
|
|
|
|
#27 | |
|
Posts: n/a
|
Quote:
Just when you think you know about everything there is to know about MUDs, along comes something to turn your whole world upside down... |
|
|
|
|
#28 |
|
Senior Member
Join Date: Feb 2003
Location: Sweden
Home MUD: www.sharune.com
Posts: 359
![]() |
Maybe you can even select some sexy female voice to do the reading for you
"You slash an ogre VERY HARD!" |
|
|
|
|
|
#29 | |
|
Legend
Join Date: Apr 2002
Name: Richard
Location: München
Home MUD: God Wars II
Posts: 1,935
![]() ![]() |
Quote:
There's also a website dedicated to audio games, which you might find of interest (particularly the FAQ): http://www.audiogames.net/ |
|
|
|
|
|
|
#30 |
|
Member
Join Date: Sep 2004
Posts: 156
![]() |
Several of our players use JAWS, and a few have reported other interfaces as well. Some are capable of parsing out 'nonsense' characters or repetitive text, though we have reconfigured several commands to be less intrusive for speech interfaces (example: time gives 22 lines of output; stime gives one - both give the player the game time, date, season, etc).
Regarding blocking telnet... are there not enough barriers to entry already in place? Is throwing another roadblock into the process really going to enhance gameplay? |
|
|
|
![]() |
| Thread Tools | |
Beyond Telnet - Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Java Telnet Applet | Crystal | MUD and RPG Webmasters | 3 | 03-19-2008 09:42 AM |
| Telnet Options? | Raewyn | MUD Coding | 1 | 02-05-2006 10:58 AM |
| Telnet Negotiations | Khadgar | MUD Coding | 6 | 01-09-2006 10:02 AM |
| Why not exploit the telnet protocol? | erdos | Advanced MUD Concepts | 46 | 10-02-2003 08:55 PM |
| Cant type in telnet window! | Chobbie | Newbie Help | 2 | 07-17-2002 03:38 PM |
|
|