Jump to content
Eternal Lands Official Forums
Placid

EL Network Protocol Documentation

Recommended Posts

The Wiki has come a long way. Some restructuring has taken place to remove non-essential information from the protocol description article (EL Network Protocol). We now have a complete list of Item Image IDs (thanks to Entropy & Learner) and the official client's colour codes has also been provided. The Actor related data has been split to its own page to shrink the main article slightly.

You can view these pages here:

Thanks to all those who have contributed, hope it helps those who are new to EL's protocol!

Share this post


Link to post
Share on other sites

Do we know when the EL Item Image IDs page will be updated for the 5/07 release? I'm hoping to have our sales bots updated with some of the new items the day it goes to the main server.

 

Thanks.

Share this post


Link to post
Share on other sites

Do we know when the EL Item Image IDs page will be updated for the 5/07 release? I'm hoping to have our sales bots updated with some of the new items the day it goes to the main server.

 

Thanks.

I'll see what I can do.

Share this post


Link to post
Share on other sites

I'm working on a client app for a bot. I've registered to the wiki and I'll try to add some info about the protocol when I figure them out. :)

Share this post


Link to post
Share on other sites

I'm working on a client app for a bot. I've registered to the wiki and I'll try to add some info about the protocol when I figure them out. ;)

Great, thanks. We're in need of server to client messages so if you're able to do this i'd be grateful.

 

I've also updated the Item Image IDs article to reflect the new items.

 

Cheers!

Share this post


Link to post
Share on other sites

Placid, you rock! thanks for the Item ID's, that site is extremely useful!

Glad it could help. Bear in mind it was not just me who wrote the documentation :)

 

I have recently moved servers, so please update your bookmarks to point to the following hostname:

- wiki.beplacid.net/

 

The base of any Wiki URL will now be:

- wiki.beplacid.net/articles/

 

So please ensure you have the correct hostname and URI (including '/articles/')!

 

Cheers,

 

Placid

Share this post


Link to post
Share on other sites
I have recently moved servers, so please update your bookmarks to point to the following hostname:

<snip>

So please ensure you have the correct hostname and URI (including '/articles/')!

Bookmarks and links like your sig?? ;-)

Share this post


Link to post
Share on other sites
I have recently moved servers, so please update your bookmarks to point to the following hostname:

<snip>

So please ensure you have the correct hostname and URI (including '/articles/')!

Bookmarks and links like your sig?? ;-)

ROFL

 

Thanks :)

Share this post


Link to post
Share on other sites

I hope you don't mind. I just registered and submitted something for the python code section. The trick is, I have made some references to some things in my code implementations. It gives a good tip and a rough idea though.

 

The tip is struct.unpack('=HIBB') will not distort the data while struct.unpack('HIBB') will.

 

Feel free to do what you will with the entry. :lipssealed: I hope it helps some. The struct.unpack command can be a pain without the '='.

Share this post


Link to post
Share on other sites

The tip is struct.unpack('=HIBB') will not distort the data while struct.unpack('HIBB') will.

Ah, I never knew about the '=' character. Nice to learn something new. I think you should use '<' instead, however, since the EL protocol is strictly Little-Endian.

Share this post


Link to post
Share on other sites

I hope you don't mind. I just registered and submitted something for the python code section. The trick is, I have made some references to some things in my code implementations. It gives a good tip and a rough idea though.

 

The tip is struct.unpack('=HIBB') will not distort the data while struct.unpack('HIBB') will.

 

Feel free to do what you will with the entry. :P I hope it helps some. The struct.unpack command can be a pain without the '='.

Not at all, all contributions are welcome! Thanks!

 

In code I've written for the EL protocol, the '<' char was used in the pack/unpack calls. As Grum said, the protocol is specifically little-endian.

 

Cheers!

Share this post


Link to post
Share on other sites

Ah. Well, use < then. Without it, the darn thing will try to pad stuff to the largest size and it will mess it up. The < vs = difference is that = will be whatever endian case it is for the computer running it.....which for some systems won't be little endian.

 

BTW, I modified my post to the protocol code example.

Edited by nathanstenzel

Share this post


Link to post
Share on other sites

I compared what you wrote in the table to what the EL code was for looking at an item in a bag and looked at the change logs for that code. You had [position][quantity] instead of just [position]. I fixed it for you.

Share this post


Link to post
Share on other sites

Let it be known that I looked for the wiki.beplacid.net page today and it no longer exists. It is now one of those stupid sites with bullcrap links on them.

 

Does anyone else have a valid list of info on the protocol?

Share this post


Link to post
Share on other sites

Let it be known that I looked for the wiki.beplacid.net page today and it no longer exists. It is now one of those stupid sites with bullcrap links on them.

 

Does anyone else have a valid list of info on the protocol?

 

In a way it is a good thing that that page disappeared, as it was hopelessly outdated.

If I need to know about a protocol, I tend to look in the client source code

(there at least, I know I have an implementation that works).

 

Also (IF I understood the license correctly), it might be possible to re-use parts of the client code in your bot (but check this to be sure). Using at least 'client_serv.h' will save you a lot of typing ;)

Share this post


Link to post
Share on other sites

Added some content to the code examples based on php. Nope its not the sexiest language, but its simple, easy to understand and virtually self-documenting.

 

Unlike other languages, you can run it from a web account, hence, its got some fairly 'interesting' possibilities, particularly if you use one of the less restricted free hosts. However, it can also be run from the command line, as either a foreground or background process, so its fairly handy as a general programming language, not mention ideal for writing bots ofc.

Share this post


Link to post
Share on other sites

Let it be known that I looked for the wiki.beplacid.net page today and it no longer exists. It is now one of those stupid sites with bullcrap links on them.

 

Does anyone else have a valid list of info on the protocol?

 

 

http://www.thefullwiki.org/Eternal_Lands

 

http://wiki.alexcollins.org/articles/Eternal_Lands_Network_Protocol

Share this post


Link to post
Share on other sites

Share this post


Link to post
Share on other sites
2 hours ago, bluap said:

 

This would have been useful when fixing my bot code but I assumed it was long gone. I guess all I had to do was ask. Thank you bluap. This will definitely help going foward.

Share this post


Link to post
Share on other sites
On 2/26/2021 at 1:34 PM, bluap said:

I wonder if its worth turning this information into markdown and adding it to the client source code?

 

If it's not a lot of work and brings programming talent to support the game I say sure. I looked to the client source code as the best reference to figure out how things work so having this there seems like a good fit to me.

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

  • Recently Browsing   0 members

    No registered users viewing this page.

×