1. Соблюдайте Правила форума и проявляйте уважение к другим участникам беседы.

Как подключить MySQL к боту?

Тема в разделе 'Запуск и Поддержка', создана пользователем MooDBlooD, 21 сен 2010.

  1. MooDBlooD Ньюфаг

    Сообщения:
    56
    Спасибы:
    1
    Собственно хочу подключить MySQL вместо SQLite!
  2. Zarj Старожила

    Сообщения:
    1.007
    Спасибы:
    23
    Сборка бота GHost:
    Ghost One 1.7.266
    Дата начала использования бота:
    01.01.1992
    1) установить мускул
    2) создать в нём таблицы, имеющимися файлами в папке с ботом (расширение *.sql)
    3) в конфиге установить db_type = mysql
    4) настроить в конфиге логин и пароль базы мускула
    5) если для доты юзаешь, то в файле update_dota_elo.cfg тоже указать логин и пасс БД
  3. MooDBlooD Ньюфаг

    Сообщения:
    56
    Спасибы:
    1
    Кхммм... Такой вопрос, а мускул устанавливать надо тот, который в папке с бото, или же качать другой.
    И если надо качать другой, то как в нем создать таблицы?
  4. Sazke Ньюфаг

    Сообщения:
    13
    Спасибы:
    0
    пошагово: ;D
    1. качаеш мускул, лучше скачать отдельно с инета, так как в папке с ботом может не работать коректно... я пользуюсь Вампом, скачать можно отсюда: http://www.f1cd.ru/soft/base/wampserver/wampserver_20/
    2. устанавливаеш по инструкции, запускаеш,- снизу в трее появится окошко(спидометра), тыцаеш левой кнопой и в меню выбираеш phpMyAdmin. В этом окне выбираеш вкладку Базы данных и создаеш новую, например ghost2. Ура, ты создал БД :) токо она пустая, теперь выбираеш меню SQL и вставляеш в нее такой код:
    Код:
    CREATE TABLE admins (
    	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    	botid INT NOT NULL,
    	name VARCHAR(15) NOT NULL,
    	server VARCHAR(100) NOT NULL,
    	access BIGINT unsigned DEFAULT '4294963199' NOT NULL
    );
    
    CREATE TABLE notes ( 
    	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    	server VARCHAR(100) NOT NULL, 
    	name VARCHAR(15) NOT NULL,
    	note VARCHAR(250) NOT NULL	
    );
    
    CREATE TABLE safelist ( 
    	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    	server VARCHAR(100) NOT NULL, 
    	name VARCHAR(15) NOT NULL,
    	voucher VARCHAR(15) DEFAULT '' NOT NULL	
    );
    
    CREATE TABLE bans (
    	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    	botid INT NOT NULL,
    	server VARCHAR(100) NOT NULL,
    	name VARCHAR(15) NOT NULL,
    	ip VARCHAR(15) NOT NULL,
    	date DATETIME NOT NULL,
    	gamename VARCHAR(31) NOT NULL,
    	admin VARCHAR(15) NOT NULL,
    	reason VARCHAR(255) NOT NULL,
    	gamecount INT DEFAULT '0' NOT NULL,
    	expiredate VARCHAR(31) DEFAULT '' NOT NULL,
    	warn INTEGER DEFAULT '0' NOT NULL	
    );
    
    CREATE TABLE games (
    	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    	botid INT NOT NULL,
    	server VARCHAR(100) NOT NULL,
    	map VARCHAR(100) NOT NULL,
    	datetime DATETIME NOT NULL,
    	gamename VARCHAR(31) NOT NULL,
    	ownername VARCHAR(15) NOT NULL,
    	duration INT NOT NULL,
    	gamestate INT NOT NULL,
    	creatorname VARCHAR(15) NOT NULL,
    	creatorserver VARCHAR(100) NOT NULL
    );
    
    CREATE TABLE gameplayers (
    	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    	botid INT NOT NULL,
    	gameid INT NOT NULL,
    	name VARCHAR(15) NOT NULL,
    	ip VARCHAR(15) NOT NULL,
    	spoofed INT NOT NULL,
    	reserved INT NOT NULL,
    	loadingtime INT NOT NULL,
    	`left` INT NOT NULL,
    	leftreason VARCHAR(100) NOT NULL,
    	team INT NOT NULL,
    	colour INT NOT NULL,
    	spoofedrealm VARCHAR(100) NOT NULL,
    	INDEX( gameid )
    );
    
    CREATE TABLE dotagames (
    	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    	botid INT NOT NULL,
    	gameid INT NOT NULL,
    	winner INT NOT NULL,
    	min INT NOT NULL,
    	sec INT NOT NULL
    );
    
    CREATE TABLE dotaplayers (
    	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    	botid INT NOT NULL,
    	gameid INT NOT NULL,
    	colour INT NOT NULL,
    	kills INT NOT NULL,
    	deaths INT NOT NULL,
    	creepkills INT NOT NULL,
    	creepdenies INT NOT NULL,
    	assists INT NOT NULL,
    	gold INT NOT NULL,
    	neutralkills INT NOT NULL,
    	item1 CHAR(4) NOT NULL,
    	item2 CHAR(4) NOT NULL,
    	item3 CHAR(4) NOT NULL,
    	item4 CHAR(4) NOT NULL,
    	item5 CHAR(4) NOT NULL,
    	item6 CHAR(4) NOT NULL,
    	hero CHAR(4) NOT NULL,
    	newcolour INT NOT NULL,
    	towerkills INT NOT NULL,
    	raxkills INT NOT NULL,
    	courierkills INT NOT NULL,
    	INDEX( gameid, colour )
    );
    
    CREATE TABLE downloads (
    	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    	botid INT NOT NULL,
    	map VARCHAR(100) NOT NULL,
    	mapsize INT NOT NULL,
    	datetime DATETIME NOT NULL,
    	name VARCHAR(15) NOT NULL,
    	ip VARCHAR(15) NOT NULL,
    	spoofed INT NOT NULL,
    	spoofedrealm VARCHAR(100) NOT NULL,
    	downloadtime INT NOT NULL
    );
    
    CREATE TABLE scores (
    	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    	category VARCHAR(25) NOT NULL,
    	name VARCHAR(15) NOT NULL,
    	server VARCHAR(100) NOT NULL,
    	score REAL NOT NULL
    );
    
    CREATE TABLE w3mmdplayers (
    	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    	botid INT NOT NULL,
    	category VARCHAR(25) NOT NULL,
    	gameid INT NOT NULL,
    	pid INT NOT NULL,
    	name VARCHAR(15) NOT NULL,
    	flag VARCHAR(32) NOT NULL,
    	leaver INT NOT NULL,
    	practicing INT NOT NULL
    );
    
    CREATE TABLE w3mmdvars (
    	id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    	botid INT NOT NULL,
    	gameid INT NOT NULL,
    	pid INT NOT NULL,
    	varname VARCHAR(25) NOT NULL,
    	value_int INT DEFAULT NULL,
    	value_real REAL DEFAULT NULL,
    	value_string VARCHAR(100) DEFAULT NULL
    );
    
    и жмакаеш вперед. Запрос должен засветится в зеленой рамке, знач все без проблем прошло. БД готова
    Если потом захотиш сделать локальну статистику то выполниш еше 2 SQL запроса (каких, отпишу познее если надо будет)
    3. теперь тебе надо создать пользователя в БД, делаеш так: когда ты сделал последний запрос, у тебя создалися таблицы, сверху в меню ищеш меню Привилегии, - добавить нового пользователя, - (например как у меня: имя ghost, сервер localhost пароль one ), - снизу ставиш все галочки и жмакаеш вперед. :)
    4. теперь по части гхоста: правиш фаил ghost.cfg, в нем ищеш такие строки и изменяиш:
    (это по примеру как я описал выше, у тебя можут быть другие названия)
    Код:
    db_type = mysql
    db_mysql_port = 3306
    db_mysql_password = one
    db_mysql_user = ghost
    db_mysql_database = ghost2
    db_mysql_server = localhost
    Вот и все, твоя БД готова к использованию. Важно: не забывай перед запуском бота включать свой WampServer, иначе бот не увидит мускул.
  5. MooDBlooD Ньюфаг

    Сообщения:
    56
    Спасибы:
    1
    Проблема с пунктом 3... Нету там возможности создать нового пользователя БД. =(
    Разобрался как создать нового пользователя. Пользователь был создан!
  6. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
  7. MooDBlooD Ньюфаг

    Сообщения:
    56
    Спасибы:
    1
    Было бы не плохо если бы ты описал как просматривать локальную статистику... А ещё было бы не плохо уточнить, что она дает!


    Проблема в том, что в той теме описывается не установка мускула как ДБ для бота, а как просматривать ДОТА Аллстатс!
  8. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    Нет просто глаза... глаза виноваты...

    То что в теге Сode, можешь не вносить.
  9. Sazke Ньюфаг

    Сообщения:
    13
    Спасибы:
    0
    по просьбе с ЛС:
    для начала качаеш саму стату, например отсюда: http://allstats.googlecode.com/files/Allstats-1.4.156.zip
    вставляеш ее в папку www твоего WampServera
    далее в скачаных файлах ищеш как описано выше MySQLSetup.sql и optimizeMySQL.sql, - открываеш их текстовым редактором, копируеш и вставляеш в SQL запрос, токо по-очереди
  10. Synth (LM) Пантограф!

    Сообщения:
    2.762
    Спасибы:
    172
    Сборка бота GHost:
    My own version of GhostOne
    Дата начала использования бота:
    15.06.2008
    Skype:
    Мой статус
    (C) LongMan
  11. MooDBlooD Ньюфаг

    Сообщения:
    56
    Спасибы:
    1
    Спасибо за помощь, только вот вопрос утратил актуальность...