Jump to content
Eternal Lands Official Forums

dns_server

Members
  • Content count

    287
  • Joined

  • Last visited

Everything posted by dns_server

  1. ip ban please unblock :)

    Hello everyone. My ip seems to be banned, it is a static ip 203.122.246.215 Could someone please investigate this and allow this, i know it has been a while but i hope you remember me.
  2. With debian there is a non-free section of the repository i believe it is possible for debian to have a package split between the free and non-free packages. For example there is a package called doom-wad-shareware, this contains the data files for doom and it is non-free, then there are open source ports that depend on this (or an equvelent dummy package) that are considered free. So i suggest you distribute 2 packages, eternal-lands-bin and eternal-lands-data (non free) but it may be confuseing to the users.
  3. I need ides for my bot!

    One thing that iknow has is a layer of communications channels and the ability to relay messages between them. This is used to communicate between a private irc channel and #gm, a public el channel and a public irc channel, #gm and pm etc. It is built in a way that you can link up backends so messages recieved by one backend will be sent to another. I have also added an object persistance cache, this is used to allow a function to make itself take over all input from a client this was used in my (bad) implementation of a mail systen to allow for multi line input over several pm messages. One thing i never got around to implelmenting was a questionare system where the bot could ask you a series of questions one after another but i could not be bothered. Now on to some of the more useful commands you can work on. - Guild commands: kick/accept to allow for a player to leave a guild for private training, GMtoPM to have #gm messages sent as pm messages (for training) #gm to speak in #gm with a name prefix ie "#gm (dns) message" - admin: arbitary local chat backdoor, use #cmd string to speak in local ie "#cmd #accept playername" to accept someone into the guild. - general: There are a fiew things you can do with web page parseing such as parseing the players online page and stats pages.
  4. New charging for bots clarification.

    So what community bots are exempt and what features would be considered to be a community bot. Specifically for me will iknow be in the exempt as it's main function is community focused: checking stats pages, lists players online and provideing a bridge beween channels in el and irc
  5. Standing/siting?

    as an admin function it is useful to have a console backdoor, for my bot it is #cmd string to local, so i can '#cmd #accept name' to accept people into the guild but i don't see the point of haveing a command that beams a bot especially since only bots with permission are allowed to go there.
  6. Standing/siting?

    you cannot use your bot after it has become a bot, this means it must be whatever level and whatever stats it was at the time you submit your application and it has been accepted. This means you should level it up to a level acceptable to join a guild BEFORE you make it an official bot. Wether it is in your guild or not does not really matter, you can have your bot join or change guilds if you really want but your bot cannot level at all, if it does it will be banned and/or deleted (it has happened). Only bots that have been given permission can go to IP so DO NOT ALLOW YOUR GUILD TO BEAM YOUR BOT. it is not really a good idea to have everyone in your guild allow you to beam and if you put a local chat backdoor make shure only you can use it.
  7. Private servers.

    It should be possible to write your own server atleast just a basic one that maintains connections and has the ability to chat. You need a good knowledge of the protacol, If you have worked on createing a bot useing raw sockets you are halfway there. What you would need to do is take your bot code and reverse the communication so instead of sending packets it would be reciveing packets, processing them and then broadcasting the results, this is ether everyone (such as with chat) or the local actors (for walking etc). If you know what you are doing you could write a basic server that accepts connections and has the ability to walk in a week to a month and that should be enough base to atleast be partially playable. Why would you want a private server? one reson is to gain a better understanding in the protacol that el uses. If i was going to properly implement a full client haveing a server there is something more useful when debugging. apart from debugging there is not a huge ammount of point, one of the main advantages of el is that it has a lot of players and your own server would not have too many players so it is not likely that you would be able to make something better than the normal server and take everyone. It is possible to reverse engeneer the protacol and infact it has been done. A former player did infact implement one while working on developing a protacol for another game, it was el compatable which allowed for some testing of the server with the el client, the server has evolved a lot and is no longer compatable and uses its own protacol.
  8. sending multiline PMs

    If your bot is going to send multiple messages fast it is a good idea to buffer the messages first then slowly send them.
  9. JELC - The Beautiful "+" Ambiguous project

    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).
  10. JELC - The Beautiful "+" Ambiguous project

    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. 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. 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. 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. 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.
  11. i had a little talk with a bot developer

    The test server is there for testing clients and bots, there is no rule about how offen you can send messages on the test server. If there is a serious problem with a bot that keeps lagging out ask us on this forum and we can try and help you out. How does the bot send messages? is there a single thread that does both the input and output? are there 2 threads? If there is one thread remember if the client is stuck reading input it cannot send a ping packet so check your input code. Most packets follow the convension type(byte) length(short) data[] except the remove_bag which is type(byte) id(short) so you need to handle this packet somehow.
  12. Frequency allowed for bots reading player stats

    I cache stats pages for 15 minutes, there is no hard rule on how offen you can check the pages but remember they are on the same server as the game. just try and implement some cacheing and you will be fine.
  13. How do you run a bot?

    look at the thread " How do you run your bot?, A little curiosity " about how to run a bot. If you are useing my bot code it is something like: make shure you have a valid config file (use the example in cvs) for other bots it is just a case of compileing, editing a config file (if it uses one) and running it.
  14. Camera Modifications (Roja this is for you)

    you cannot make first person shooters with the way the map is processed now. With first person shooters maps are in a format that uses Binary space partitioning Tree data structure to store maps. This is a more efficent format that makes painting graphics easyer but it has the dissadvantage of being more complex and it requires a lot of time to compile the maps into an efficent tree, but this is done ahead of the time once so ingame it is much faster. Doing this will dramatically improve performance (especially indoors) but there are always limitations, it works best with first person shooters where there are walls that block the view, with bsp it allows polygons that are behind other objects to be ignored from paining (instead of paining everything from back to front).
  15. Bot functions

    Well i put as many featueres that i can think of in iknow try and look at what some of the other bots are doing and think up a way of doing things better, feel free to clone iknow as much as you want i'll even help you One thing you could try and do is createing games, the main problem with this is trying to work out a game that is interesting to play chatting through pm's, you could create blackjack or another card game(but remember it would need to be paid if you are collecting money from it).
  16. Bot functions

    Read the thread If you want to have a BOT it is a sticky in the bots section and is a good start you should read the pinned thread "How do I make a bot?" for a (possibly outdated) list of bot projects, someone should get around to compileing a list of projects again. You might want to contact a bot owner and see if you can use some of thair code. with the free vs paid, basically if you are gaining anything from them ie: it is defending your map, it is tradeing on your behalf etc it must be paid. If it just sits and chats it does not need to be paid. if there is any features that you think are controversial then ask a mod or discuss in these forums. Things bots would be good at are things like being a frontend to a database, this covers things like trinitybot which has a user created database of market prices of items or iknow which parses The players online page and players stats pages.
  17. Bot Owners Unite

    Well it would not be too hard to do anything like a web service or create a simple protacol useing raw sockets, tell me what you would use, if there is demand i can try and create it.
  18. Bot Owners Unite

    i don't think it is that much of a problem myself in the scheme of things as long as it is not too offen, it is probly easyer to just hit the page every 5-15 minutes. If it is really something you would want it would not nessisarily be too hard for my bot to be the master bot in this system, it could send out a full list of online players and diff's without too much work. The way i would implement something like this is first your bot would send a request. /iknow ListOnline the response would be space seperated names, it will send multiple messages if it needs to. /botname ONLINE:dns iknow whatever /botname ONLINE:another line of messages Then the bot would be registered with the bot to recieve differences, these would be every 5-10 minutes, it your bot misses a message it will be removed from the list. /botname ONLINEREM:someon went offline /botname ONLINEADD:somone went online
  19. Questions about starting a bot

    There are a fiew aproaches used in the network code of my bot (written in java). The java aproach to doing most things is by useing a listener/event model for programming. Useing this aproach there are a list of 'eventlistener' classes, these are implemented by a class to capture the event. For example i have a 'ChatListener' class that captures chat events. Then i wrote a class that implements this interface, for example the interface includes public abstract void onPm(String person, String message); to process pm messages. I have a main Connection class that handles the network code, just create the object and register your class to recieve the events. Now more specifically for your bot example, you should store actors in memory (the client has an array of 1000 but i would just use a linked list or vector), when the bot recieves the command it checks the list of actors and sends the response back. Another thing you can do (my bot does this) is store 'Account' information, this is stored in a database some user specific information such as how many times they have found the joker, when they last walked past the bot etc. There is also a vector of accounts in memory, in this there can be a reference to a 'Session' interface which i can use to have a command be processed over a series of messages. when you process commands i load the object (from memory or build from database) and if it has a reference to a session object i call a method in the session interface to do the processing. i'm not currently useing this for much but it was there for my mail system (but i haven't finished it in 6 months working on it) but it does allow multiple line messages to be recieved.
  20. Eternal on psp

    with a little searching have a look at the PSP Programming Tutorial and get the psp toolchain to compile it. There are A fiew reports of a downgrader to version 1.5 (which is a version that you can run homebrew software on.) goodluck.
  21. What is your political compass score?

    Your political compass Economic Left/Right: -7.25 Social Libertarian/Authoritarian: -3.59
  22. perl bot skeleton ?

    Well done, if you need some help from someone who doesn't know any perl (But is trying to learn) just ask. I'm involved in the java side so i've probly found some of the same problems.
  23. New kind of bot

    Defenately NO. you cannot have bots on pk maps or at the entrances to pk maps. There where some bots that sat neer entrances to pk maps but they where used to cheat and fits under and ingame rule 5
  24. Walking bots

    Bots must state thair location when being aproved but it may be possible to get an exeption to the rule to have it walk around like the ants have.
  25. perl bot skeleton ?

    Ethereal is your friend for debugging and reverse engeneering the packets. First capture you useing the real client then program your bot and get it to send messages exactly like the captured data.
×