Do you think I could just leave this part blank and it'd be okay? We're just going to replace the whole thing with a header image anyway, right?
You are not logged in.
So, bots connect to EE, but from then on, how does it control what happens in it? Like for example, simple as saying a chat message, how does it do that? What does it do to the server?
The pro haxors *cough* Atilla *cough* probably can explain this in 5 billion essays and say it's easy, but I want to be a programmar, so this would be good info for me.
P.S, don't write 5 billion essays.
Offline
Bots actually work in a very simple, practical way: by sending and receiving messages.
For example, a bot receives a message that someone touched the crown, and the bot sends a "say" message, which is chat, saying someone touched the crown.
That's a very basic example, and before you take on programming EE bots (which is actually quite easy in the world of coding), you need to learn a .NET language (the most common of these being C#, C++, VB, and C). They each have their own advantages and disadvantages, but being .NET languages, can all do virtually the same things.
Of course there are many other languages, including Python and Java, but these all do different things and will not necessarily work for EE purposes as PlayerIO was catered for C# (and other .NET languages, but mainly C# if I recall correctly).
Last edited by BuzzerBee (Apr 23 2014 5:21:33 pm)
Offline
Ok thanks. But when you say it sens a "say" message, the coding system isn't specifcally made for ee, so how would you program it so it's made for ee?
And I already the if and then statements, but thanks anyway.
I'm thinking of learning C# but I have nowhere to learn from
Offline
It uses a playerio client and a playeruo.dll, which means that the playerio.dll is a little thing that you add and it has classes already in them. So it makes your life much easier.
If you would like me to make a bot for you, go here.
Offline
Rephrasing what ^ said without the vocab:
PlayerIO provides a file with all the functions needed to connect to any PlayerIO game built into it. All a program has to do is load that file to be able to connect to EE.
"Sometimes failing a leap of faith is better than inching forward"
- ShinsukeIto
Offline
It's interesting that someone posed this question, and it gives me the chance to write long technical essays! Weeee!
So yeah,
I've already wrote an open source EE bot that does not use PlayerIO DLL at all and instead connects through the basic fundamentals.
You can find it here.
For the technical explanation,
First, the Client is an abstract class, when initialized it will send the parameters (gameid, username/email, password) to PlayerIO's WebAPI (api.playerio.com) with said details.
The PlayerIO WebAPI will respond with either an error, or if you enter in the correct information it will give you a Protocol Buffer serialized message containing PlayerScale data (useless for EE), and importantly it will contain an AuthToken and a list of IP Addresses you can connect to.
In order to join the game, the Connection will send a byte (00) to the server, with another byte describing the connection type.
Afterwards, you will send a "join" packet containing the AuthToken and the server will know who you are.
Finally, you will typically send an "init" and "init2" packet, and the server will acknowledge you and broadcast an "add" message to people thereon.
Any received data gets deserialized and invoked onto the OnMessage event handler.
*u stinky*
Offline
If you really want to start programming, I will teach everything I know.
Everybody edits, but some edit more than others
Offline
@The Docter: Thanks! In other posts, it sounds like you know alot
@Atilla: I barley understand a word you said, cause I know pretty much NOTHING about coding. I attempt, but it's hard when you have nothing to test it in (all I can do it html in notepad *cries*)
Packets sound awesome though. Are they like cookies? They send information?
Offline
Packets are little bits of information sent over the internet. On EE, packets containing events like messages, movement, block placement, and more are sent in packets.
"Sometimes failing a leap of faith is better than inching forward"
- ShinsukeIto
Offline
Oh! So it's like you have the thing you type the code in, then you add a thing (which the playerio client thing), then it like sends these variables (chat, blocks, whatever) that are set to a code? Then when you send the code, it has the playerio client thing attatched to it, like a dictionary so it can read the "words" (chat, blocks, whatever). If this is confusing, I'll make it more clear, sorry.
Offline
Offline
Packets are not references.
Packets are like sending a postcard to the EE servers with a little bit of information on each one. For EE, that's position, movement, crowns and keys, chat, stuff like that. Packets are used to transfer small bits of information between you and the servers.
There's not much similarity between C# and javascript except some syntax similarities which are already nearly universal, like using semicolons to terminate lines, (parentheses to contain arguments and boolean stuff), and { curly brackets to contain blocks of code }. There are bigger similarities, I'm sure, but nothing comes to mind.
"Sometimes failing a leap of faith is better than inching forward"
- ShinsukeIto
Offline
Packets are not references.
Packets are like sending a postcard to the EE servers with a little bit of information on each one. For EE, that's position, movement, crowns and keys, chat, stuff like that. Packets are used to transfer small bits of information between you and the servers.
There's not much similarity between C# and javascript except some syntax similarities which are already nearly universal, like using semicolons to terminate lines, (parentheses to contain arguments and boolean stuff), and { curly brackets to contain blocks of code }. There are bigger similarities, I'm sure, but nothing comes to mind.
Hmmm sounding a bit harder now, but still something interesting I might try
Last edited by JaWapa (Apr 26 2014 8:05:43 am)
Discord: jawp#5123
Offline
You don't really need to be able to understand packets in order to code. PlayerIO.dll takes care of all the network stuff for you, all you have to do is tell it the type of information you want to send (for example, "say" for chat messages) and the actual data to send.
"Sometimes failing a leap of faith is better than inching forward"
- ShinsukeIto
Offline
You don't really need to be able to understand packets in order to code. PlayerIO.dll takes care of all the network stuff for you, all you have to do is tell it the type of information you want to send (for example, "say" for chat messages) and the actual data to send.
Oh I wouldn't make a bot for EE... I hate bots, but it has more uses than that. I may not make anything useful to people, but it's something new that could lead up to something better...
Discord: jawp#5123
Offline
What kind of thing are you thinking of making?
"Sometimes failing a leap of faith is better than inching forward"
- ShinsukeIto
Offline
Maybe this will help you http://pastebin.com/w2Bk6cAF
All credits of this codes go to Doh.
Everybody edits, but some edit more than others
Offline
Maybe this will help you http://pastebin.com/w2Bk6cAF
All credits of this codes go to Doh.
WOW, this is ANCIENT. I mean, it probably still works, but that was quite the throwback. I used this code when I first started programming for EE, and I distinctly remember bugging Bash (Bass5098) about every function and every message that I didn't know.
And also, I'm generally not a fan of advertising, but if you're interested in creating a bot, I made the process a little bit simpler (at least, better documented) with Skylight. I'd recommend you check it out. That is, if Atilla's rewrites don't tickle your fancy. If anything, you will understand how it works with the in/out system (which is called "pull" and "push" in the topic).
Yeah, well, you know that's just like, uh, your opinion, man.
Offline
What kind of thing are you thinking of making?
Idk yet, I need to get a computer I can write C# on.
Maybe this will help you http://pastebin.com/w2Bk6cAF
All credits of this codes go to Doh.
Thanks, just in case I do decide to make an EE bot then this will be handy.
The Doctor wrote:Maybe this will help you http://pastebin.com/w2Bk6cAF
All credits of this codes go to Doh.WOW, this is ANCIENT. I mean, it probably still works, but that was quite the throwback. I used this code when I first started programming for EE, and I distinctly remember bugging Bash (Bass5098) about every function and every message that I didn't know.
And also, I'm generally not a fan of advertising, but if you're interested in creating a bot, I made the process a little bit simpler (at least, better documented) with Skylight. I'd recommend you check it out. That is, if Atilla's rewrites don't tickle your fancy. If anything, you will understand how it works with the in/out system (which is called "pull" and "push" in the topic).
Hmmm i'll look more into this when I have a computer I can do it on and know some stuff about C# thanks.
Discord: jawp#5123
Offline
And also, I'm generally not a fan of advertising, but if you're interested in creating a bot, I made the process a little bit simpler (at least, better documented) with Skylight. I'd recommend you check it out. That is, if Atilla's rewrites don't tickle your fancy. If anything, you will understand how it works with the in/out system (which is called "pull" and "push" in the topic).
I remember you making a topic about this. It's interesting
Offline
Pretty good for you. It's more easy to code with it, enoth flexibility and open source.
Everybody edits, but some edit more than others
Offline
The Doctor wrote:Maybe this will help you http://pastebin.com/w2Bk6cAF
All credits of this codes go to Doh.WOW, this is ANCIENT. I mean, it probably still works, but that was quite the throwback. I used this code when I first started programming for EE, and I distinctly remember bugging Bash (Bass5098) about every function and every message that I didn't know.
And also, I'm generally not a fan of advertising, but if you're interested in creating a bot, I made the process a little bit simpler (at least, better documented) with Skylight. I'd recommend you check it out. That is, if Atilla's rewrites don't tickle your fancy. If anything, you will understand how it works with the in/out system (which is called "pull" and "push" in the topic).
I'd recommend Skylight, I've looked at it and from what I can tell you did a great job with it.
Player Since 2011. I used to make bots and stuff.
Offline
Ok time to revive this forum. @mrjawapa you said you can send different packets and say is an example. What are the other packets I can send?
Still don't know how to code
Offline
https://github.com/capasha/EverybodyEditsProtocoll
I believe this one is most up-to-date.
Offline
[ Started around 1736948634.8907 - Generated in 0.092 seconds, 12 queries executed - Memory usage: 1.7 MiB (Peak: 1.94 MiB) ]