Jump to content
Eternal Lands Official Forums
Sign in to follow this  
Selberhad

Writing An Alternate Client

Recommended Posts

First off, I'm new here and this is my first post, so hello :).

 

What I'd like to do is write a client in Perl which connects to the Eternal Lands server and allows one (me for now) to play it in text mode; everything that is currently displayed graphically would be described to the player in English, like in a MUD.

 

My primary reason in doing this is self-education; I'm a long time mudder, and I always wanted to write a MUD which would use 3D data to store all of its data, so that it could eventually be played as either a text-based or graphical MMORPG. I never got anywhere with that, but this project seems like a good place to start since half the work - the server - is already done (thanks, btw!).

 

Some questions for the developers here:

  • Am I allowed to do this project under the license/rules?
  • If so, do I have to declare whatever character I use to test it as a bot?
  • Does the license put any restrictions on my client (like copyleft)?

Thanks!

Selberhad

Edited by Selberhad

Share this post


Link to post
Share on other sites

If you don't use any code from the client, then the only restriction is that you're only allowed to connect to the official server with the official client. Feel free to use the test server (port 2001) to test out your client.

 

If you do use the client code, or derive code from it, then yes, you have to follow the rules of the license.

 

http://no-exit.org/el/files/ELC_license

Share this post


Link to post
Share on other sites
Great, thanks. Is there any description of the client/server interface except in the source code for the client?

That's what packet sniffers are for.

Share this post


Link to post
Share on other sites

Thinking of something like this?

 

http://bjorn_mm.users.whitehat.dk/elc_patches/elconsole.jpg

 

Wrote one using C, SDL_net and ncurses, so should also be portable. Still thinking about the license, but if the lead devs in EL wants it it'll be under the EL source license, otherwise GPL. It has some mud features (such as telling the looks of players around you and their relative position) but the main goal is not a mud client however, just wanted to be able to chat in EL on my laptop :o

Edited by Wytter

Share this post


Link to post
Share on other sites

thinking about it, it wouldnt work too well.in muds you can go left right up down etc into a different room but in el you have more freedom to walk about so wouldnt you have to spam #left or somthing to get anywhere?

 

I suppose you oculd divide the maps into square chunks and when they type #left it walks you into the center of the next one. Then whenever someone goes out / into the square you could do a little message telling the player. Then for attacking monsters it would be a bit clumsy because you would do somthing like #attack monster and it would of course chase after it and kill it, but then your not in the center any more, i guess it would have to walk you back to the center again before it let you do anything. Then what about harvesting..... quite alot of things would be pretty hard to do!

Share this post


Link to post
Share on other sites

Well, not really - make a pathfinder and just mark certain areas of the map so users can go wherever they wish, and the nearest tiles and items can be described. You can even set up a distance marker, that'll tell you the ETA when walking somewhere on the map.

 

If you want harvest in the game, use #harvestable or something, that can tell you the nearest harvestable items. It is not impossible to do, and I think it's an interesting project.

Edited by Wytter

Share this post


Link to post
Share on other sites

There's something else that will definitely complicate things. The client gets a lot of information from the map files and other data. You would have to use the map data with your client, which is not allowed.

Share this post


Link to post
Share on other sites

Wytter - yes, that's pretty much how my mental image of the thing looked, but with more detail presented.

 

I do realize that it can get complicated. I was initally planning on doing complex pathfinding, but as Cicero pointed out I'd really need to read the map files to do that. I'm not going to give up right away because of that though - I have a few ideas which I don't think would require reading any of the binaries.

 

At worst, I'll have a nice EL bot framework in Perl, which I find a worthy enough goal in itself.

 

-S

Share this post


Link to post
Share on other sites

If reading the map data is illegal, then all the walking bots are illegal to ? :ph34r:

I mean i understand distribution/modification, etc...

 

Anyway I was thinking of a text-based MUD on top of EL too, but quite differently. Simply have a bot as a MUD "server", and have users send pms to it with commands and recieve responses by pm too.

I'm not much of a MUD player to be honest, but i played a lot of text-based "quests",i would have liked it to be a kinda multiplayer Zork or Adventure kinda thing and have people play it when doing something boring :D

Don't steal my ideea before i get a chance to implement it :P

Edited by Xilcox

Share this post


Link to post
Share on other sites
If reading the map data is illegal, then all the walking bots are illegal to ? :ph34r:

I mean i understand distribution/modification, etc...

No. He wants to __GPL__ it, while using the map data, not just use it.

Share this post


Link to post
Share on other sites

Well, the way I read the license, you may not distribute the map files etc. with your program. I doubt that its illegal to read the content of those files...

Edited by Wytter

Share this post


Link to post
Share on other sites

The license says:

You are not allowed to use the Binary Data that comes with the Official Eternal Lands Client without our prior approval.

 

Which means if I do want to use the binary data, I'll need to get approval (does this mean everyone with a walking bot has approval?). I will deal with that issue when I get to it though, unless someone can approve me now. :huh:

 

Xilcox, I actually was thinking of having it work as a kind of mud server, though it would still be very different from your idea. You'd connect to the MUD-server with your favorite mud client, and the server acts as a proxy/interpreter and connects to the EL server on your behalf.

 

The problem with this is all people connecting to it would be seen as connecting from the MUD-server's IP address and it would be difficult to find multiplayers. If this project gains official support and the MUD-server is trusted, then it would be possible. Regardless, I'll still have to write all the same code for communicating with the server, and it'll be easier for me to test if it is a stand-alone client for now.

 

I'm glad to see there is some interest here, I can post updates on my progress if anyone wants. So far I've just done the very basics - can connect to the (test) server, log in, and parse incoming requests, but I only have a few simple handlers written. The major obstacle will probably be navigation/perception, as some have noted.

 

I'll definitely be making the source for this available when it is a little more complete, since it could easily be used to write store-bot scripts and such in Perl.

 

-S

Edited by Selberhad

Share this post


Link to post
Share on other sites

surely you could either just not include the map files with the program, or convert them to a different format and then include those with it?

Share this post


Link to post
Share on other sites

I respect the wishes of the developers - even if I am legally allowed to do something by the license, I'm not going to if the developers don't want me to. That said, I would like an official response from the development team on if I'm allowed to read the binary map data with my client. It would certainly make things easier for me, and I don't really see what would be wrong with it... but I won't if I'm asked not to. ;)

 

-S

Share this post


Link to post
Share on other sites
I wouldnt follow advice from Cicero over legal matters with the client, Id consult actuall legal advice, at least a paralegal.

Especilly after this...

http://www.eternal-lands.com/forum/index.php?showtopic=9346

After . . . what? You made yourself look like an idiot? For the record, look on the bottom of the official download page. You'll notice that the last two links (FreeBSD bin and static linux bin) are links to my site.

 

 

 

Selberhad, you can read in the map data from the client, you just can't redistribute it. And you should probably throw in an EL copyright notice for good measure.

Share this post


Link to post
Share on other sites
I wouldnt follow advice from Cicero over legal matters with the client, Id consult actuall legal advice, at least a paralegal.

Especilly after this...

http://www.eternal-lands.com/forum/index.php?showtopic=9346

After . . . what? You made yourself look like an idiot? For the record, look on the bottom of the official download page. You'll notice that the last two links (FreeBSD bin and static linux bin) are links to my site.

 

 

 

Selberhad, you can read in the map data from the client, you just can't redistribute it. And you should probably throw in an EL copyright notice for good measure.

http://www.eternal-lands.com/forum/index.php?showtopic=8617

 

point 4. a, At the very top,

a. You must include this license document in the distribution.

You still dont do this, on your site. you post a link to it, But dont include it in the distrobution.

 

But it seems that the sarcasm from Entropy, shows the licence file is a joke. Even tho YOU clearly quote that line, in the development rules??

 

The only person looking like an idiot, Its those who carnt read there own writing. Follow the rules they set for themselfs, And comply with the rules they set for others.

Share this post


Link to post
Share on other sites

Do you even know the purpose of the license? Do you know anything about copyright law, or are you just trying to be as obnoxious as possible? Let me explain:

 

Ent owns Eternal Lands.

Ent is the only person who can legally distribute the client or any of the data that comes with it.

The only other way you can distribute it is if Ent gives you permission.

The open source license for the client provides a way for people to distribute the client, or modified versions of it without getting permission from Ent, if they follow the terms of the license.

Ent can still grant permission to people to distribute EL, or do anything else with it, since he owns it. (For example, if he were to sell the engine to a game company, or the arrangement he has with the French people who run the server)

I have permission from Ent to work on the client and the server, to modify it, to distribute it, etc, etc. Saying that I don't have permission to do so is comperable to saying that Ent doesn't own his own game. In summary, STFU. If you still have a problem with it, you can take it straight to Ent.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×