Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

map_stats (Падение сервера) (boost тому кто поможет)

Статус пользователя SoRcErS
сообщение 21.2.2015, 15:18
Сообщение #1


Стаж: 14 лет

Сообщений: 53
Благодарностей: 3
Полезность: < 0

Добрый день, после установки плагина map_stats, при смене карты начал падать сервер. Может кто подскажет в чём дело.

Скрытый текст

Код:

#include <amxmodx>
#include <amxmisc>
#include <sqlx>

#define PLUGIN "Map_stats"
#define VERSION "1.3"
#define AUTHOR "Svoloch aka tavot"
new const Version[] = "1.3"

new Handle: SQL_connection
new Handle: SQLTuple

new g_ct_win
new g_t_win
new g_mapname[32]
new no_players
new g_online_r

new table[32]


public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

register_cvar("map_stats_host", "localhost")
register_cvar("map_stats_db", "map_stats")
register_cvar("map_stats_user", "login")
register_cvar("map_stats_password", "pass")
register_cvar("map_stats_table", "public")


register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")
register_cvar("Map stats", Version, FCVAR_SERVER|FCVAR_SPONLY)
}
public plugin_cfg(){

new host[32], db[32], user[32], password[32]
get_cvar_string("map_stats_host", host, 31)
get_cvar_string("map_stats_db", db, 31)
get_cvar_string("map_stats_user", user, 31)
get_cvar_string("map_stats_password", password, 31)
get_cvar_string("map_stats_table", table, 31)


SQLTuple = SQL_MakeDbTuple(host,user,password,db)

new err, error[256]
SQL_connection = SQL_Connect(SQLTuple, err, error, charsmax(error))

if(SQL_connection != Empty_Handle)
{
server_print("%s","[MAP]Stats: MySQL connect is ok")

new zapros[2048]

formatex(zapros, charsmax(zapros),"CREATE TABLE IF NOT EXISTS `%s`(",table)
add(zapros,charsmax(zapros),"`id` int(11) NOT NULL auto_increment,`map` varchar(32) NOT NULL,\
`ct_win` int(11) NOT NULL default '0',`t_win` int(11) NOT NULL default '0',\
`games` int(11) NOT NULL default '1',`online_time` int(15) NOT NULL default '0',\
`timestamp` int(12) default '0',");
add(zapros,charsmax(zapros),"`time` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,\
`dead` int(10) NOT NULL default '0',`dead_count` int(10) NOT NULL default '0',\
`first_date` int(15) NOT NULL default '0',PRIMARY KEY (`id`),\
UNIQUE KEY `map` (`map`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;");

SQL_QueryAndIgnore(SQL_connection,"%s",zapros)

new current_time = get_systime()
g_online_r = current_time;
//log_amx("%s",LANG_SERVER, "[MAP]Stats: Connect sucsessful.")

get_mapname(g_mapname, 31)
SQL_QueryAndIgnore(SQL_connection, "INSERT INTO `%s` (`map`,`first_date`) VALUES ('%s','%d') ON DUPLICATE KEY UPDATE `games` = `games` + 1", table, g_mapname,current_time)

// report of crashe server in map
new Handle:query
query = SQL_PrepareQuery(SQL_connection,"SELECT `dead` FROM `%s` WHERE `map` = '%s' ",table,g_mapname)
SQL_Execute(query)

if (SQL_MoreResults(query)){

new dead = SQL_ReadResult(query, 0)

if(dead == 0){
server_print("%s","[MAP]Stats: Server chenched map - is ok")
}else{
server_print("%s","[MAP]Stats: Server crashed - restart server")
SQL_QueryAndIgnore(SQL_connection, "INSERT INTO `%s` (`map`) VALUES ('%s') ON DUPLICATE KEY UPDATE `dead_count` = `dead_count` + 1", table, g_mapname)
}
}
SQL_QueryAndIgnore(SQL_connection, "INSERT INTO `%s` (`map`) VALUES ('%s') ON DUPLICATE KEY UPDATE `dead` = 1", table, g_mapname)

}
else
{
server_print("%s","[MAP]Stats: MySQL error")
//server_cmd("restart")
pause("a")
}


}
public ct_win()
{
no_players = get_playersnum()
if(no_players >=2)
g_ct_win++

}
public t_win()
{
no_players = get_playersnum()
if(no_players >=2)
g_t_win++
}
public plugin_end(){

new current_time = get_systime()
new online_time
online_time = current_time - g_online_r;
new Handle:query
query = SQL_PrepareQuery(SQL_connection, "UPDATE `%s` SET `ct_win` = `ct_win` + '%d' , `t_win`=`t_win`+ '%d',`timestamp`='%d', `online_time` = `online_time` + '%d' WHERE `map` = '%s'", table, g_ct_win, g_t_win , current_time,online_time, g_mapname )
//server_print("[MAP]Stats: %d plugin_end - map stats",current_time)
SQL_QueryAndIgnore(SQL_connection, "INSERT INTO `%s` (`map`) VALUES ('%s') ON DUPLICATE KEY UPDATE `dead` = 0", table, g_mapname)
SQL_Execute(query)

SQL_FreeHandle(SQL_connection)

}




Отредактировал: SoRcErS, - 21.2.2015, 16:35
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя JIuXeP
сообщение 21.2.2015, 18:01
Сообщение #2


Стаж: 12 лет

Сообщений: 338
Благодарностей: 205
Полезность: 792

Может есть какие логи?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 21.2.2015, 18:07
Сообщение #3
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Вангую плохое соединение с БД
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
XyLiGaN
сообщение 21.2.2015, 18:12
Сообщение #4
Стаж: 13 лет
Город: Югорск

Сообщений: 11668
Благодарностей: 6450
Полезность: 1052

Меценат Меценат

voed, Разве?
Код
localhost
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 21.2.2015, 18:13
Сообщение #5
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Цитата(XyLiGaN @ 21.2.2015, 18:12) *
voed, Разве?
Код
localhost

Это дефолтные значения, правильные настройки в конфиге, скорее всего
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SoRcErS
сообщение 21.2.2015, 18:43
Сообщение #6


Стаж: 14 лет

Сообщений: 53
Благодарностей: 3
Полезность: < 0

voed, Да в плагине криво написано sql соединение надо переписать. Платно. Тема есть на amx-x
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: