Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Last Chaos > Last Chaos Private Server
You last visited: Today at 15:34

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Developement/BETA] Bot based PvP Addon

Discussion on [Developement/BETA] Bot based PvP Addon within the Last Chaos Private Server forum part of the Last Chaos category.

Reply
 
Old 11/17/2014, 07:33   #16
 
PizzaGuy's Avatar
 
elite*gold: 0
Join Date: Jul 2013
Posts: 435
Received Thanks: 480
Quote:
Originally Posted by » Fabi202cool View Post
Building the Serverfiles from Scratch, is in my eyes very unrealistic in 2014. But if you love the game, you can port it to a new Game engine and use the EP1 Files as a reference, this makes imho more sense. For rewards I would add a new Item Box in the Database und call the ItemUse(PlayerEntity, Item) function. With Hooking you can disable the Item Check and Remove, and the Gameserver is doing all stuff for you (I never looked for such an function but it have to exist ^^)
It's not unrealistic, it's just no one has the drive to partake in such a project. I've though about rewriting the episode 1 server files for a while now (even wrote a server base recently for it). It's just the time and effort put into a project would need to be consistent unless you open sourced the project to the community. Tho the problem with that is you'll have 20 of the same exact servers. So its better to just stick to writing it yourself or collaborating with a few friends on it.
PizzaGuy is offline  
Old 11/17/2014, 11:58   #17

 
Tarissuis's Avatar
 
elite*gold: 2470
Join Date: Jul 2010
Posts: 7,544
Received Thanks: 5,444
I'm happy so many of you guys have already expressed your opinion. However, this is how it's going to be (+ reasons) for the first version:

- Programm that uses the official Client
--> Why: For now the tool is supposed to be as universal as possible. As it seems every clientless bot needs to deal with different serverside expectations which results in a limited amount of possible usages.

- Has to be run by a GM/ADM
--> Why: Basically because a certain GM level is required. Also because, even though I will try to avoid it, any programm can be exploited. Running something on the real server could be dangerous.

What's yet to be decided:
I'm unsure whether I should add a loop for the tool or not. At least at its current stage, whenever the tool has to interact with the client for the pvp event, the bot client will be set as foreground, which makes simultanous usage of the computer running the programm super annoying. It's best to use it while being afk, so just running 1 round seems pointless.

Summary:
Figure the first version of this programm as a possibility for GMs or Admins to easily start some (more or less) awesome PvP events while spending some quality time elsewhere, at least version 1.0 should (even though it quite possibly could) not run permanently. I'm fully aware that this might make it somewhat unattractive, but consider it to be this way for the first version only. Besides, I highly doubt a GM could run a better event than the ones I've got in mind.
Tarissuis is offline  
Thanks
1 User
Old 11/18/2014, 07:07   #18
 
PizzaGuy's Avatar
 
elite*gold: 0
Join Date: Jul 2013
Posts: 435
Received Thanks: 480
Quote:
Originally Posted by Tarissuis View Post
I'm happy so many of you guys have already expressed your opinion. However, this is how it's going to be (+ reasons) for the first version:

- Programm that uses the official Client
--> Why: For now the tool is supposed to be as universal as possible. As it seems every clientless bot needs to deal with different serverside expectations which results in a limited amount of possible usages.

- Has to be run by a GM/ADM
--> Why: Basically because a certain GM level is required. Also because, even though I will try to avoid it, any programm can be exploited. Running something on the real server could be dangerous.

What's yet to be decided:
I'm unsure whether I should add a loop for the tool or not. At least at its current stage, whenever the tool has to interact with the client for the pvp event, the bot client will be set as foreground, which makes simultanous usage of the computer running the programm super annoying. It's best to use it while being afk, so just running 1 round seems pointless.

Summary:
Figure the first version of this programm as a possibility for GMs or Admins to easily start some (more or less) awesome PvP events while spending some quality time elsewhere, at least version 1.0 should (even though it quite possibly could) not run permanently. I'm fully aware that this might make it somewhat unattractive, but consider it to be this way for the first version only. Besides, I highly doubt a GM could run a better event than the ones I've got in mind.
It would honestly be much more beneficial to just create the bot to be completely clientless. It wouldn't take much more work and will be well worth it in the long run. I may partake in writing my own clientless bot to drive some custom ingame events/actions if I ever partake in developing LastChaos again. The reason for this is you can compile the bot directly for Linux and it can run localhost server side while having next to no latency with the server. Just create a new account in the database and a new character (e.g. [BOT]EventMaker) with admin level 10. Store the login information for that account in the configuration file for the bot and from there all you have to do is execute it for the event system to be live. It helps having it server side so it will run based on server time and will always be running regardless if the server owner shuts down his home PC at night or whatever. Like said also, the latency from a home computer to the server would be a limiting factor in bot performance. If you have 100+ players online even with a good ping of 45ms with the server you're looking at easily 4.5 seconds just to teleport all of the players to the respected zone. Let alone drive all of the echos, death log, and many other things that would be delayed from being driven from home.
PizzaGuy is offline  
Thanks
1 User
Old 11/18/2014, 10:53   #19

 
Tarissuis's Avatar
 
elite*gold: 2470
Join Date: Jul 2010
Posts: 7,544
Received Thanks: 5,444
Technically speaking you are right. However, there's 2 problems with that: Limited time and knowledge. I don't even know what to google to start things off and I just don't have the time atm to spend dozen of hours trying to figure it out on my own. For what you've mentioned I'm going to need "real" help and I highly doubt anyone who's capable of doing so would be interested (just speaking of personal experience).

Edit: I'm not gonna lie that your way is how I've originally thought of this project, it's just that (at least at the current time) this is way out of my possibilities.
Tarissuis is offline  
Thanks
1 User
Old 11/18/2014, 11:35   #20
 
PizzaGuy's Avatar
 
elite*gold: 0
Join Date: Jul 2013
Posts: 435
Received Thanks: 480
Quote:
Originally Posted by Tarissuis View Post
Technically speaking you are right. However, there's 2 problems with that: Limited time and knowledge. I don't even know what to google to start things off and I just don't have the time atm to spend dozen of hours trying to figure it out on my own. For what you've mentioned I'm going to need "real" help and I highly doubt anyone who's capable of doing so would be interested (just speaking of personal experience).

Edit: I'm not gonna lie that your way is how I've originally thought of this project, it's just that (at least at the current time) this is way out of my possibilities.
The hardest part of the bot is figuring out packets, which actually is very easy (LCPE outlines them for you). It takes literally less 10 packets to be sent to the server to get ingame. The hardest part of the bot would be replicating the keep-alive packet that gets sent to the server (something I haven't figured out yet since I retired). After you tackle them things, sending GM commands to the server is a piece of cake. GM commands are sent in raw text (obviously converted to hexadecimal values). So a project like this would be easier than you may think. I could whip it up in about a couple of days, the only thing I would need help with is replicating the keep-alive packet (e.g. opcode 0x26).
PizzaGuy is offline  
Old 11/18/2014, 14:37   #21
 
elite*gold: 8353
Join Date: Oct 2014
Posts: 669
Received Thanks: 219
U should first try to use a Client without an Encryption, to test ur Basic Bot.
First u will need to create the Character by urself, then do some settings maybe setting up new Databases with some Information about the Event.
Then u would have to code the simple Bot.
Starting with a simple Connection then create ur own Dispatcher and a Packet Builder,
as first sending the Login Message with the Login Information from this character, then u wait , read out the Server respons if the Respons tell you the Server Ports ect u are in Server Select.
After that u need to send the Char - Select packet where u send the facestyle ect from your Character (dont remember exacly how the Packet was), after that u need to send the start game Packet and request on Appear ect i sadly dont remember really the last Part of the joining game but its not that hard as you think, its possibile with C# or Java to do it.
Also if you are new in Programming learn about OOP (Object Oriented Programming) this will help to understand some things.
Lee Ki-Hwan is offline  
Old 11/18/2014, 17:23   #22

 
elite*gold: 150
Join Date: Apr 2007
Posts: 2,372
Received Thanks: 6,628
Quote:
You would have to monitor server logs for deaths, when a player dies you can move them back to juno, so once there's a single man standing in that zone you could just use /itemdrop to drop the reward in the middle of the map. Tho server logs aren't reliable enough to drive an entire server event.
its not that hard even possible with a clientbot.
Either through Packets ( best way ) or Pointer. Because the Client
gets Informations when someone loses HP thats why lifescanner
work

Mal jemand der was Interessantes vorhat ++
wurstbrot123 is offline  
Thanks
1 User
Old 11/18/2014, 18:04   #23
 
PizzaGuy's Avatar
 
elite*gold: 0
Join Date: Jul 2013
Posts: 435
Received Thanks: 480
Quote:
Originally Posted by wurstbrot123 View Post
its not that hard even possible with a clientbot.
Either through Packets ( best way ) or Pointer. Because the Client
gets Informations when someone loses HP thats why lifescanner
work

Mal jemand der was Interessantes vorhat ++
Keep in mind the packets sent to the client for nearby players only works when the players are within FOV. Which would be a critical issue. You would have to confine the players to a custom map designed so small that a player could never leave the BOT's FOV.
PizzaGuy is offline  
Thanks
1 User
Old 11/18/2014, 18:17   #24

 
elite*gold: 150
Join Date: Apr 2007
Posts: 2,372
Received Thanks: 6,628
oh yeah right that really sucks
wurstbrot123 is offline  
Old 11/18/2014, 22:36   #25

 
Tarissuis's Avatar
 
elite*gold: 2470
Join Date: Jul 2010
Posts: 7,544
Received Thanks: 5,444
Quote:
Originally Posted by PizzaGuy View Post
Keep in mind the packets sent to the client for nearby players only works when the players are within FOV. Which would be a critical issue. You would have to confine the players to a custom map designed so small that a player could never leave the BOT's FOV.
Quote:
Originally Posted by wurstbrot123 View Post
oh yeah right that really sucks
Exactly, when I first had the idea of a pvp addon project (which dates about a year back) I checked the radius within information is send to the client. It is definitely way too small for a pvp area (it might work for 1 on 1 fights though since you don't really need to give them much space, but not a suitable solution overall).
Tarissuis is offline  
Thanks
1 User
Old 11/20/2014, 04:23   #26
 
elite*gold: 0
Join Date: Oct 2013
Posts: 26
Received Thanks: 3
How do we help? :P
walletman987 is offline  
Old 11/20/2014, 06:06   #27

 
elite*gold: 150
Join Date: Apr 2007
Posts: 2,372
Received Thanks: 6,628
well...i would probly load a dll from the Server and use new Packets
( also new dll for client than of course ). With Packetfunctions hooks
thats the best way that comes to my mind right now. Like that you can simply
read Player positions status etc from the database and send it to the client.
That way you wouldnt have much to care about and can simply do
a lot of stuff you want. Of course that requires some work =p
wurstbrot123 is offline  
Old 11/20/2014, 10:24   #28
 
PizzaGuy's Avatar
 
elite*gold: 0
Join Date: Jul 2013
Posts: 435
Received Thanks: 480
Quote:
Originally Posted by wurstbrot123 View Post
well...i would probly load a dll from the Server and use new Packets
( also new dll for client than of course ). With Packetfunctions hooks
thats the best way that comes to my mind right now. Like that you can simply
read Player positions status etc from the database and send it to the client.
That way you wouldnt have much to care about and can simply do
a lot of stuff you want. Of course that requires some work =p
The problem with that is the database isn't updated in real-time. Player position, HP, equipped items, stats, etc are only dumped to the database on a timed loop in order to not overload the sequel server. So accessing that information is quite unlogical in that retrospect. You would have to poke around the GameServer's memory and find the struct responsible for holding all of the players current values (I was able to disassemble the client side structure). Tho you arrive at a crossroad once again. If you're going to be poking around with the GameServer's memory you might as well drop in some hooks and handle everything from there.

The only place I find a clientless bot diving events of any sorts would be in the arena which is small enough to keep track of all of the players inside. You can even add a commands to the bot to allow players to register for the event simply by standing next to the bot and sending a command in normal chat. There's a lot of stuff that can be done with a clientless bot such as advanced NPC's. So working on one wont be at a loss as you can do much more with such a tool than just using it for keeping track of stuff. Personally I think any clientless bot would need to support LUA scripting. That way people can create these bots that do certain things scripted entirely by the server developers. Tho I think hooking any worthy internal function in the GameServer could open up a entirely new world of customizing LastChaos. Since you could write scripts to do just about anything that the game supports. Even custom events could be scripted as well.
PizzaGuy is offline  
Old 11/20/2014, 11:18   #29
 
elite*gold: 8353
Join Date: Oct 2014
Posts: 669
Received Thanks: 219
@PizzaGuy
With the Scripting part u mean like Scripts for Aion?
If you was a litle bit around the Aion Scene then u might know that they write their Emus based on Java and then using Scripts for example to handle their Quests.
But i really dont see the Point on Last Chaos to do that except for the Events, that makes sense.
I think its useless to spent time on more Events, i would instead try to implement other Features with no needed Bots, but on the other hand that would be much hooking and without good knowledge its very hard to even let the GS Load your DLL (for newbies..)
Lee Ki-Hwan is offline  
Old 11/20/2014, 13:37   #30
 
PizzaGuy's Avatar
 
elite*gold: 0
Join Date: Jul 2013
Posts: 435
Received Thanks: 480
Quote:
Originally Posted by The Notorious B.I.G View Post
@PizzaGuy
With the Scripting part u mean like Scripts for Aion?
If you was a litle bit around the Aion Scene then u might know that they write their Emus based on Java and then using Scripts for example to handle their Quests.
But i really dont see the Point on Last Chaos to do that except for the Events, that makes sense.
I think its useless to spent time on more Events, i would instead try to implement other Features with no needed Bots, but on the other hand that would be much hooking and without good knowledge its very hard to even let the GS Load your DLL (for newbies..)
I was in fact a contributor to the Aion Lightning project. Personally I think it's just better to rewrite the LastChaos server files completely from scratch. With your own source you're not limited by anything server side. As for loading a DLL on Linux it's simply not possible. Linux doesn't execute the same Win32 code as Windows does. You'll need to compile a .so (shared object) and load it with the GameServer.
PizzaGuy is offline  
Reply


Similar Threads Similar Threads
New Game Based on Tanks <<beta
04/06/2013 - Browsergames - 0 Replies
Hello today there was a release of a game Called "Project Tank" For the fans of World Of Tanks it is really similar but graphics are low no 5 gig download needed only flash :D / browser game also brcause its in beta you get 20,000 gold coins <--like gold in wot prices and tanks are very much similar link: http://pt.gamebox.com/ no refferal just sign up and by the way it does not need a good computer
New Multi Mod Creative Based Server(BETA TESTING)
06/20/2012 - Minecraft Server Advertising - 0 Replies
New Multi Mod Creative Based Server BETA TESTING! Mods Installed: -Buildcraft -Industrialcraft2 -Redpower -Ironchests -CraftingTable3
[L2J]iMoral Fair PVP BaseD C6(Beta test)
10/15/2011 - Lin2 Private Server - 0 Replies
Hello I worked a little on / pvp Based / Interlude / Fair game play/ server. So far i haven't done much. just some basic things. I won't name everything, it's not hard to get in game and look it up :) For more information u can look up to web site iMoral For October its beta test, I have no way to commercialize it. So just epveprs and few other places. Server have no donation reward or call it how ever u want. So it's hard for me to set up a big project without your help. Server made...
Simple Packet based Shaiyabot Beta
05/19/2010 - Shaiya Hacks, Bots, Cheats & Exploits - 0 Replies
removed



All times are GMT +2. The time now is 15:34.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.