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

JELC - The Beautiful "+" Ambiguous project

Recommended Posts

First of all, I would like to clarify some things before I start, both to the naïve reader, and to the expert ones.

( :hug: You can jump to the point below, but don't reply if you haven't read what's next).

 

I read almost all the topics and its replies on the last 2 pages (and I'm willing to continue on reading when I have time) on the bot forum, and from it I was able to get an idea on its process, which I can summaries it by saying:

A bot is “A program that controls the actions within a gameâ€, which is in our situation “Controlling an Eternal Lands Character in an automated way†.

 

Spoiler

If an advance programmer or a game developer thinks about it, he can view it as a game AI(Artificial Intelligence, read more on wikipedia-AI), but with more control to the gamer side. More control means that gamers can even make a bot which violates some of the game rules. For instance: making a code for a bot to gather Sulfur from Desert Pines (A location in the EL game) and then stores it in the storage. Almost everything is absolutely possible.

 

Now, even if you're a CEO Software Programmer, it would take a lot of effort to create one without having to use any source codes, and without any support from the game developers.

 

Spoiler

In order to make your own bot from A-Z, you'll need to know how to program (doesn't matter what language). The basic steps in the EL game are:

1- Connect to the server.

2- Control and handle the basic I/O (Input: received from the EL server/ Output: sent to the server).

3- Finally, Customize it based on your needs based on a set of rules that you choose.

 

:blush: To tell the truth, I'm not willing to go on and make a bot project from scratch. I already have my senior project to worry about (Major: Software Engineering). Also, from the usability perspective point of view, it's better to use an exciting project and work on it. :hug: Hopefully, after reading almost all the source code for the bots posted here in different languages, I found a really good project written in the language I love, java, which is the JELC(Java Eternal Lands Client) developed by EL user code name dns.

So I decided not to reinvent the wheel and study it, then make something out of it.

 

• Now that's everything is clear, let us get to the Point:

There's a lot of things around this project which is not clear to me, and I would like to note them:

 

- Where can I find some Documentation for the Project?

You can find more information on the project in this forum than on the project website itself! I mean, why isn't it documented in the JELC berliOS site?

 

- What do I download from berliOS in order to run the JELC project?

I got tiered of downloading it file-by-file from the JELC CVS view (I downloaded everything except for the three deadman versions; 4, 5, & 6). Isn't there a *.zip/*.rar/*.jar package that contains the whole thing?

 

- How to install and configure?

I may figure it out(the import part), but how can a normal user solve this mystery? (This is actually part of the missing documentation)

 

- How to Run the Program?

It's actual answered in an unclear way in this thread, but where is it in the berliOS JELC project website?

 

Some of my question may need a long answer, and some may be very obvious & short. I don't know, that's why I'm asking. I'm not discussing my bots ideas cause it will take another long thread.

Anyway, I'm really happy to be playing a game developed in a Blender3D Graphic engine, and I'm looking to take advantage of the JELC in playing this beautiful game, so I would be really glade if someone can at least give me a link to download the whole thing, or answer some of my questions.

 

 

Sorry for taking long, and thanks in advance :hug:

Edited by eXone

Share this post


Link to post
Share on other sites

It is Right that you can make a program to do anything you want, but you gust have to take a lot of time to learn it, and that the bot im having a prob with is writen in C++ i have learned it over 2 or 3 years by my self, so gust learn a different writen thing.

Edited by asc66

Share this post


Link to post
Share on other sites

so gust learn a different writen thing.

I get your point, but I already know c++. I also found some bots written in it, but the JELC dns developed is really more object oriented than any of the others. Thus, it's easier for me to develop and integrate it to my needs.

 

Simply Put: I want to use JELC and nothing else, why? I already answered that.

Edited by eXone

Share this post


Link to post
Share on other sites
- Where can I find some Documentation for the Project?

You can find more information on the project in this forum than on the project website itself! I mean, why isn't it documented in the JELC berliOS site?

why should it be? unless you came from EL forums, why would you be interested? besides, documenting isn't the most fun part...
- What do I download from berliOS in order to run the JELC project?

I got tiered of downloading it file-by-file from the JELC CVS view (I downloaded everything except for the three deadman versions; 4, 5, & 6). Isn't there a *.zip/*.rar/*.jar package that contains the whole thing?

sometimes you get packages made, sometimes you don't. using web interface to CVS for fetching files is silly, though, get a CVS client and use that (berlios itself has all the details)
- How to install and configure?

I may figure it out(the import part), but how can a normal user solve this mystery? (This is actually part of the missing documentation)

why should a normal user be doing stuff with bots? there are already a large number, and it's better if the people running them have some technical ability... what do they do when it breaks?
Anyway, I'm really happy to be playing a game developed in a Blender3D Graphic engine
blender is used for some of the 3d modeling, not the game itself
and I'm looking to take advantage of the JELC in playing this beautiful game, so I would be really glade if someone can at least give me a link to download the whole thing, or answer some of my questions.
be sure to read all about use of bots before using one, because unless you pay, you don't get to use bots to play the game (and even when you do pay, it's limited)

Share this post


Link to post
Share on other sites

I read almost all the topics and its replies on the last 2 pages (and I'm willing to continue on reading when I have time) on the bot forum, and from it I was able to get an idea on its process, which I can summaries it by saying:

A bot is “A program that controls the actions within a game”, which is in our situation “Controlling an Eternal Lands Character in an automated way” .

 

Spoiler

If an advance programmer or a game developer thinks about it, he can view it as a game AI(Artificial Intelligence, read more on wikipedia-AI), but with more control to the gamer side. More control means that gamers can even make a bot which violates some of the game rules. For instance: making a code for a bot to gather Sulfur from Desert Pines (A location in the EL game) and then stores it in the storage. Almost everything is absolutely possible.

Erm... ;)

I suggest you read our bot rules here in the bot section of forums.

From what you have posted and quoted, what I think you have in mind is highly illegal in EL. You might want to specify exactly what you think this bot is going to do for you.

Share this post


Link to post
Share on other sites

One thing you need to remember is that you can't use an unapproved client to connect to the main server, and that almost any sort of automation to make something easier (such as gather Sulfur from Desert Pines and then store it) is against the game rules.

Share this post


Link to post
Share on other sites

From what you have posted and quoted, what I think you have in mind is highly illegal in EL.

One thing you need to remember is that you can't use an unapproved client to connect to the main server, and that almost any sort of automation to make something easier (such as gather Sulfur from Desert Pines and then store it) is against the game rules.

;) ... guys, that's totally not what I was thinking. As I said before Aislinn, I've read till now almost all the topics including the rules. I was just stating its abilities.

 

My idea is really something bigger. You can say a whole set of bots intelligent enough to interact with each other, manage a guild in an automated way, and provide services to guild members. Those were some of my ideas. :)

Share this post


Link to post
Share on other sites

From what you have posted and quoted, what I think you have in mind is highly illegal in EL.

One thing you need to remember is that you can't use an unapproved client to connect to the main server, and that almost any sort of automation to make something easier (such as gather Sulfur from Desert Pines and then store it) is against the game rules.

;) ... guys, that's totally not what I was thinking. As I said before Aislinn, I've read till now almost all the topics including the rules. I was just stating its abilities.

 

My idea is really something bigger. You can say a whole set of bots intelligent enough to interact with each other, manage a guild in an automated way, and provide services to guild members. Those were some of my ideas. :)

Bots under player control that are intelligent enough to interact with each other are illegal because of the high risk of abuse. As it is, the only reason the Ants have been able to get their features approved is because of how closely I work with Entropy on the server and the Ant features.

Share this post


Link to post
Share on other sites

Have a quick look at createing a bot useing jelc it is mostly outdated but it shows some of the design ideas i had for the project. It has been a year since i made that post

 

I recomend useing a java ide such as eclipse. it has a cvs client and makes software development easyer but you can still use the console tools. if you really need it i can zip a copy of the source just pm through the forums your email address. I'm also happy to give you cvs access to the project and if you want you can become an admin you just need to register with berlios and give me your username.

 

- Where can I find some Documentation for the Project?

there is that post that i made and some of the java files have javadoc comments on them (i should have gotten around to documenting everything ages ago). In each version of the deadface bot there is a readme.txt which should be enough for you to build the bot.

 

 

- What do I download from berliOS in order to run the JELC project?

you can get the source code from cvs or svn. i recomend useing an IDE such as eclipse. it has a cvs client and makes software development easyer but you can still use the console tools. if you really need it i can zip a copy of the source just pm through the forums your email address. I'm also happy to give you cvs access to the project and if you want you can become an admin you just need to register with berlios and give me your username.

 

For windows there is TortoiseCVS and you could also use the cygwin port of the unix tools.

 

 

- How to install and configure?

It is a java application, compile it with javac (or use an ide as it is easyer). The bots do require some external libraries. deadface 5-6 require a mysql database. version 5 requires the martyr java irc library, version 6 of the bot requires pircbot as the irc library. the project also requires

xerces but that is not important to the bot.

Each version has a config file, read the config file for an example and add your details.

 

 

- How to Run the Program?

As i said in How do you run a bot?

java -cp pircbot.jar:mysql.jar:iknow.jar:. bot.deadface6.MyBot

where i have compiled my bot into iknow.jar. Make shure you have configured the bot in a config file.

 

I'm not playing el much but i lurk in the forums and check my email if you need more info.

Share this post


Link to post
Share on other sites

Bots under player control that are intelligent enough to interact with each other are illegal because of the high risk of abuse. As it is, the only reason the Ants have been able to get their features approved is because of how closely I work with Entropy on the server and the Ant features.

Well, I know that already. The reason you got the idea of me abusing this service, is because I didn't specify any constraints.

 

When I submit my request to accept my bots, I will submit a document on all the methods with classes, so you can review it and also check the code. I know all these risks your referring to, so be assure that I'll give you all the info needed. I'm also logged in almost all days in a week for about 5 hours... this is actually out of topic :huh:

 

 

Have a quick look at createing a bot useing jelc it is mostly outdated but it shows some of the design ideas i had for the project. It has been a year since i made that post.

Thanx and I already read and understood it :D

 

I recomend useing a java ide such as eclipse. it has a cvs client and makes software development easyer but you can still use the console tools.
What about JCreator? I think it still works with it. After you send me the *.zip file, I'll extract it let's say to file name "../JELC/", and then set a default import to it to the "../JELC/", and it's done.

 

I'm also happy to give you cvs access to the project and if you want you can become an admin you just need to register with berlios and give me your username.
I appreciate it so much! but I think I'll take that offer after I get more experience in the bot making :)

 

 

 

It is a java application, compile it with javac (or use an ide as it is easyer). The bots do require some external libraries. deadface 5-6 require a mysql database.

So you're running a MySQL server for a bot? Isn’t that a little too much on the computer? I mean I'm running a WebSphere server, so if I tried also to run MySQL it will cause a big usage of the CPU. I think I'm gonna stick with notepad or convert it to db2 :)

 

 

thank you very much for your support dns.

Share this post


Link to post
Share on other sites

Well you probly don't need to use all of my bot as a base, as i've worked on it it has gotten bigger, and i have used the bot to slowly collect some user information such as what guild people are in. This is for the stats/skills pages and the on [guild] commands it was put in a database because the file that i was useing started to get verry large and would take a minute to load which is why i use a database. there is also some account managment features that i have added that probly are not relevent to what you want. The database should not add too much more load than not useing one but it is all about what features you want.

 

If i was going to rewrite the bot i would keep some of the good features of the deadface 6 code such as haveing backends communication channels. For example the latest version of iknow sits on multiple irc servers and can relay messages between several backends this is used to allow us to send messages between irc and #gm or channel 994 and #el on sorcery.net channel 994 and #el on sorcery.net. It all depends on what you want your bot to do.

 

I do like the way the commands are processed by calling public boolean process(Replyer reply, String[] args) it does simplify adding new commands to the project and it should not be to hard to load these dynamically but i could not be bothered to work out how (it is probly just 5-10 lines of code).

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.

×