-
-
Notifications
You must be signed in to change notification settings - Fork 139
Full documentation
This document is for developpers / integrator for the eBot tools.
To understand how eBot works, you need to understand the scheme. eBot has 2 distingued parts:
- The PHP daemon + NodeJS server
- The web pannel
eBot can works without the web pannel, this is just to control eBot and see the results / stats. You can develop one on your own !
To understand how the eBot works, you need to know how the bot grab the datas. CS:GO have a log stream in UDP that we read. With a simple rcon commands, the bot add his own server address/port that it listen and the server begin to send the data.
Major common issue is a firewall who is blocking the UDP stream between the server and eBot, if you don't have any output on the eBot daemon, it's that kind of issue.
The eBot daemon works like this:
- Each 3 seconds, it check in the database for new matchs
- Each loop time, it read from the UDP Socket
- Each loop time, the TaskManager is executed to process all tasks
eBot has a control interface trought the UDP server. Here is the list of the commands available:
- stop
- stopNoRs
- executeCommand
- passknife
- forceknife
- forceknifeend
- forcestart
- stopback
- pauseunpause
- fixsides
- streamerready
- goBackRounds
- skipmap
We will see later how to communicate and send this kind of command
NodeJS server: The NodeJS server is just a forwarder, it forward some messages to all connected users. It's the bot who send the datas. The server can send too some commands to the eBot server, it's not required, you can make it on your own. The NodeJS server is required for the auto demos upload, when a match end, the demos it pushed to the server, who archive and rename the file into the right dir.