deStrO / eBot-CSGO

The eBot is a full managed server-bot written in PHP and nodeJS. eBot features easy match creation and tons of player and matchstats. Once it's setup, using the eBot is simple and fast.
http://www.esport-tools.net/ebot
375 stars 138 forks source link

Port-configuration #80

Closed ghost closed 8 years ago

ghost commented 8 years ago

Which Ports do I have to open, so that eBot is working correctly? I have eBot-Plugin correctly installed, it is also reachable via my browser ( "WebSocket online; eBot online" ). But if I enter "!ready" or "!help" nothing happens. No output in the chat ingame, nor on server console (but I get the hint in the ingame chat to enter "!ready" or "!notready" or "help"!)

It seems, that only those commands are not working, because all others things work..

ghost commented 8 years ago

The output of ebot is as following:

2016-04-25 22:12:02 - LOG    [eBot\Match\Match] RCON init ok
2016-04-25 22:12:02 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: CSay version 3.2.3
2016-04-25 22:12:02 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: Match configuration :: Full Score: no :: Switch Auto: no :: Over Tim
2016-04-25 22:12:02 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: MaxRound: 15 :: Rules: eps
2016-04-25 22:12:02 - LOG    [eBot\Match\Map] Maps loaded de_train (score: 0 - 0) - Current left side: ct - Current status: Warmup first
2016-04-25 22:12:02 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: Maps selected: #10 - de_train - Warmup first side
2016-04-25 22:12:02 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: Setting map engaged
2016-04-25 22:12:02 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: Getting status
2016-04-25 22:12:25 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: The match has been forced by the admin
2016-04-25 22:12:25 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: Launching RS
2016-04-25 22:12:26 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: Deleting all player in BDD
2016-04-25 22:12:26 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: Getting status
2016-04-25 22:13:10 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: The match has been stopped by the admin
2016-04-25 22:13:10 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: Stopping current side, new status: Warmup first side
2016-04-25 22:13:10 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: Deleting all player in BDD
2016-04-25 22:13:10 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: Getting status
2016-04-25 22:13:10 - LOG    [eBot\Match\Player] Creating players STEAM_1:0:38773758 on match 10
2016-04-25 22:13:10 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: Counting players :: CT:0 :: T:0
2016-04-25 22:13:10 - LOG    [eBot\Match\Player] Setting nickname to Rainer Zielinski
2016-04-25 22:14:05 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: Match stopped by admin
2016-04-25 22:14:05 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: Destructing match 10
2016-04-25 22:14:14 - ERROR  [eBot\Application\Application] 172.17.0.10:27015 is not managed !
2016-04-25 22:14:15 - LOG    [eBot\Manager\MatchManager] New match detected - meinTeam vs testTeam on 172.17.0.10:27015
2016-04-25 22:14:15 - LOG    [eBot\Match\Match] RCON init ok
2016-04-25 22:14:15 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: CSay version 3.2.3
2016-04-25 22:14:15 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: Match configuration :: Full Score: no :: Switch Auto: no :: Over Tim
2016-04-25 22:14:15 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: MaxRound: 15 :: Rules: eps
2016-04-25 22:14:15 - LOG    [eBot\Match\Map] Maps loaded de_train (score: 0 - 0) - Current left side: ct - Current status: Warmup first
2016-04-25 22:14:15 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: Maps selected: #10 - de_train - Warmup first side
2016-04-25 22:14:15 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: Setting map engaged
2016-04-25 22:14:15 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: Getting status
2016-04-25 22:14:15 - LOG    [eBot\Match\Player] Restoring player STEAM_1:0:38773758 from match 10
2016-04-25 22:14:15 - LOG    [eBot\Match\Match] 172.17.0.10:27015 :: Counting players :: CT:1 :: T:0

It seems that it should work, but it does not accept my ingame commands...

Existeeence commented 8 years ago

Whitelist your HTTP port, 12360 UDP/TCP, and 12361 UDP/TCP. (assuming you didn't change any port settings)

Also, are the "eBot: " echos colored? eBot should be green and white.

Versatile-BFG commented 8 years ago

You do have "log on" on the game server correct? with sv_logecho 1 as well?

ghost commented 8 years ago

@Existeeence The echos are colored, yep. --> eBot-Plugin is loaded on the server @Versatile-BFG It seems that it is all correct, because there is an playable game loaded. The output of the csgo-server looks like:

csgo_server_1 | L 04/26/2016 - 08:14:18: "Cybroken<2><STEAM_1:0:38773758><CT>" say "!ready"
csgo_server_1 | Cybroken: !ready
csgo_server_1 | L 04/26/2016 - 08:14:22: "Cybroken<2><STEAM_1:0:38773758><CT>" say "!ready"
csgo_server_1 | eBot
csgo_server_1 | L 04/26/2016 - 08:14:22: rcon from "172.17.0.1:60116": command "echo eBot"
csgo_server_1 | L 04/26/2016 - 08:14:22: "Jerry<9><BOT><CT>" [-2437 352 -240] killed "Grant<5><BOT><TERRORIST>" [-1945 1018 -96] with negev"

My current portsettings csgo-server:

ebot-server (+web):

Teams are named correctly; output has the right color; I could play a normal game on my server if I want -> CSGO-Server set up correctly; The webinterface is OK and loaded correctly ("WebSocket online", "eBot online").

Versatile-BFG commented 8 years ago

only other thing I'd check is log_address to the ebot server. ebot looks like its set correctly. its only the info from the game server to the ebot server that isn't working. [If the ready command isn't working.]

ghost commented 8 years ago

I manually added following to my server.cfg

log on
logaddress_add 127.0.0.1:12360
sv_log_onefile "0"
sv_logbans "1"
sv_logecho "1"
sv_logfile "1"
sv_logflush "0"
sv_logsdir "0"

I changed my server-setup, so that eBot (+web) and the CSOG-server are running inside the same docker container (virtual system).

The CSGO-console printed out, that it added this logadress. But no effect, same situation, "!ready" not working.

Maybe I did something wrong inside config-files? Let me paste all here in:

csgo/cfg/server.cfg

log on //This is set to turn on logging!
logaddress_add 127.0.0.1:12360
sv_log_onefile "0" //Log server information to only one file.
sv_logbans "1" //Log server bans in the server logs.
sv_logecho "1" //Echo log information to the console.
sv_logfile "1" //Log server information in the log file.
sv_logflush "0" //Flush the log file to disk on each write (slow).
sv_logsdir "0" //Folder in the game directory where server logs will be stored.

app_user.yml

# ----------------------------------------------------------------------
# white space are VERY important, don't remove it or it will not work
# ----------------------------------------------------------------------

  log_match: ../../ebotv3/logs/log_match
  log_match_admin: ../../ebotv3/logs/log_match_admin
  demo_path: ../../ebotv3/demos

  # true or false, whether demos will be downloaded by the ebot server
  # the demos can be downloaded at the matchpage, if it's true

  demo_download: true

  ebot_ip: "188.68.48.44"
  ebot_port: 12360

  # lan or net, it's to display the server IP or the GO TV IP
  # net mode display only started match on home page
  mode: lan

  # set to 0 if you don't want a refresh
  refresh_time: 5

config.ini

; eBot - A bot for match management for CS:GO
; @license     http://creativecommons.org/licenses/by/3.0/ Creative Commons 3.0
; @author      Julien Pardons <julien.pardons@esport-tools.net>
; @version     3.0
; @date        21/10/2012

[BDD]
MYSQL_IP = "ebotmysql_1"
MYSQL_PORT = "3306"
MYSQL_USER = "ebotv3"
MYSQL_PASS = "ebotv3"
MYSQL_BASE = "ebotv3"

[Config]
BOT_IP = "127.0.0.1"
BOT_PORT = 12360
MANAGE_PLAYER = 1
DELAY_BUSY_SERVER = 120
NB_MAX_MATCHS = 0
PAUSE_METHOD = "nextRound" ; nextRound or instantConfirm or instantNoConfirm

[Match]
LO3_METHOD = "restart" ; restart or csay or esl
KO3_METHOD = "restart" ; restart or csay or esl
DEMO_DOWNLOAD = true ; true or false :: whether gotv demos will be downloaded from the gameserver after matchend or not

[MAPS]
MAP[] = "de_dust2_se"
MAP[] = "de_nuke_se"
MAP[] = "de_inferno_se"
MAP[] = "de_mirage_ce"
MAP[] = "de_train_se"
MAP[] = "de_cache"
MAP[] = "de_season"
MAP[] = "de_dust2"
MAP[] = "de_nuke"
MAP[] = "de_inferno"
MAP[] = "de_train"
MAP[] = "de_mirage"

[WORKSHOP IDs]

[Settings]
COMMAND_STOP_DISABLED = false
RECORD_METHOD = "matchstart" ; matchstart or knifestart
DELAY_READY = true

ebotv3.conf

Alias /ebot-csgo /home/ebot-web/ebot-csgo-web/web

<Directory "/home/ebot-web/ebot-csgo-web/web">
    AllowOverride All
    Allow from All
    Require all granted
</Directory>

start.sh (global Startscript)

#!/bin/bash

echo "Waiting for mysql to come up";
sleep 15;

echo "Starting ebot-server inside screen";
screen -L -S ebot -dm sh -c '/usr/bin/php ${EBOT_HOME}/ebot-csgo/bootstrap.php';

echo "Waiting for eBot-Server to come up";
sleep 5;

echo "Starting eBot-Server-Web";
cd ${EBOT_HOME_WEB}/ebot-csgo-web;
php symfony configure:database 'mysql:host=ebotmysql_1;dbname=ebotv3' ebotv3 ebotv3;
php symfony doctrine:insert-sql;
php symfony guard:create-user --is-super-admin admin@ebot admin password ;
php symfony cc ;
rm -rf ${EBOT_HOME_WEB}/ebot-csgo-web/web/installation ;
screen -L -S ebot-web -dm sh -c 'apachectl -d /etc/apache2 -f /etc/apache2/apache2.conf -e debug -DFOREGROUND;';

echo "Starting CS:GO-Server";
cd ${CSGO_HOME};
./steamcmd.sh +login anonymous +quit

cd ${CSGO_HOME}/strike/
./srcds_run -game csgo -console -usercon +game_type 0 \
                               -ip 0.0.0.0 \
                               +sv_logecho 1 \
                               +game_mode 0 \
                               +mapgroup mg_bomb \
                               +map de_dust2 \
                               +rcon_password "***********" \
                               +sv_setsteamaccount ************** \
                               -tickrate 128

docker-compose.yml

ebotmysql:
  image: mysql
  volumes:
   - $DOCKER_DATA/ebot/mysql:/var/lib/mysql
  environment:
    - MYSQL_DATABASE=ebotv3
    - MYSQL_USER=ebotv3
    - MYSQL_PASSWORD=ebotv3
    - MYSQL_ROOT_PASSWORD=ebotv3
ebot:
  build: $DOCKER_IMAGES/ebot/
  security_opt:
    - seccomp:unconfined
  links:
    - "ebotmysql:ebotmysql"
  volumes:
    - ${DOCKER_DATA}/csgo:/home/csgo/strike
  ports:
    - "27015:27015/tcp"
    - "27015:27015/udp"
    - "8081:80"
    - "12360:12360/tcp"
    - "12360:12360/udp"
    - "12361:12361/tcp"
    - "12361:12361/udp"
ghost commented 8 years ago

I noticed, that RCON/Backup-Button doesn't work either. If I click on it, the top-left status sets to "Loading..".

In addition i noticed, that my eBot-Output logs something like

2016-04-26 15:30:48 - ERROR  [eTools\Rcon\CSGO] Error while doing hostname "eBot :: team1_one vs team2_Enemy" The operation timed out.

Maybe this information helps a little bit..

Existeeence commented 8 years ago

Few things I noticed in your config...

config.ini

BOT_IP change that to your external IPv4 address. I see that your database info is default, is that actually what you have it set as?

[MAPS]

Try also changing these to the actual name of the maps. For example, de_dust2_se -> de_dust2

app_user.yml

mode: is set to lan when it should be net (judging by your firewall rules you have set) For all your log and demo paths, try to set them to the absolute paths.

ghost commented 8 years ago

Thanks mate! BOT_IP was set wrong (I thought, 127.0.0.1 is correct), it has to bet set to my docker-containers port (172.17.0.XX). You saved my "day" ( actually it is 00:07 AM :D ) !

ChemaFlores92 commented 1 year ago

ot\Match\Match] 172.17.0.

What is the ip that you have to put in BOT_IP?

Hey ther 7 years later.. i have the same problem, im so done, dk what to do.