ThreshHNS
Участник
- Сообщения
- 248
- Реакции
- 87
Описание:
Полностью готовая система выкладывание демок с Ваших серверов на сайт.
Система включает в себя красивый дизайн, удобный поиск, поиск демок с участием только Вас (Steam API), подробную статистику и лог чата каждой демки.
Система работает только для CS:GO
Демо (ENG)
Демо (RUS)
Скриншоты:
Требуется:
• Установленный - Sourcemod/Metamod
• Сайт с поддержкой - PHP/MySQL
• Расширение - cURL & Hash
Установка:
Шаг 1:
1. Скачиваем архив demos.rar или demos_myarena.zip под хостинг MyArena
2. Распределяем файлы по папкам
Шаг 2: Настройка autodemo.txt
Шаг 3: Установка веб-части
ᅠᅠᅠᅠНастройка config.php
ᅠᅠᅠᅠSQL запрос для создания базы (или уже готовый дамп в архиве)
ᅠᅠᅠᅠНастройка sql_login.php
Шаг 4: Удаление демок и записей с сайта Оффтоп
ᅠᅠᅠᅠНастройка demormv.sh
ᅠᅠᅠᅠКоманда cron
Шаг 5: Для тех кто использует nginx необходимо в настройках в общую локацию добавить rewrite:
Отличие архива для установки на MyArena:
Установка завершена!
Благодарность
Фикс от взлома:
[CS:GO] Автозагрузка демок на сайт
[CS:GO] Автозагрузка демок на сайт
Плагин для CS:S - [CS:GO] Автозагрузка демок на сайт
Спасибо автору данной системы - pray'n'spray!
Отдельная благодарность @Tallanvor , @Hejter , @Forever Alone , @kolobok66rus !
Перевел WEB и выложил тему ThreshHNS
Полностью готовая система выкладывание демок с Ваших серверов на сайт.
Система включает в себя красивый дизайн, удобный поиск, поиск демок с участием только Вас (Steam API), подробную статистику и лог чата каждой демки.
Система работает только для CS:GO
Демо (ENG)
Демо (RUS)
Скриншоты:


Требуется:
• Установленный - Sourcemod/Metamod
• Сайт с поддержкой - PHP/MySQL
• Расширение - cURL & Hash
Установка:
Шаг 1:
1. Скачиваем архив demos.rar или demos_myarena.zip под хостинг MyArena
2. Распределяем файлы по папкам
C-подобный:
1. Положить [B]autodemo.smx[/B] в addons\sourcemod\plugins
2. Расширения [B]curl[/B] в addons\sourcemod\extensiosn
3. Конфиг [B]autodemo.txt[/B] в addons\sourcemod\configs
Шаг 2: Настройка autodemo.txt
PHP:
"AutoDemo"
{
// ftp путь до папки со stage
"ftp" "ftp://thresh.hlmod.ru/stage"
// данные от ftp
"username" ""
"password" ""
// ссылка сайта с демками
"site" "http://demos.powerhns.ru"
// ключ от api сайта (запоминаем)
"key" "demos"
// название сервера (без пробелов)
"server" "Classic"
}
Шаг 3: Установка веб-части
C-подобный:
1. Файлы из папки [B]demos[/B] заливаем на сайт
2. Создаем вручную две папки с именами demos и logs в главном каталоге (рядом с папкой stage)
3. Настраиваем и переименовываем [B]config.example.php[/B] в config.php
4. Делаем SQL запрос для создания базы на сайте через PhpMyAdmin
5. Настраиваем и переименовываем [B]sql_login.example.php[/B] в sql_login.php
PHP:
<?php
$apikey = ""; // ключ от api сайта (копируем,то что вставляли в autodemo.cfg
$steamapikey = ""; // http://steamcommunity.com/dev/apikey
date_default_timezone_set( "Europe/Moscow" ); // время по МСК
$admins = array(
array (
"name" => "pray and spray", // ник администратора
"id" => "76561198069264171" // id профиля
)
);
?>
PHP:
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Database: `demos`
--
-- --------------------------------------------------------
--
-- Table structure for table `INFO`
--
CREATE TABLE IF NOT EXISTS `INFO` (
`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`SERVER` int(11) NOT NULL,
`GAME` varchar(16) NOT NULL,
`FILE` varchar(128) NOT NULL,
`MAP` varchar(64) NOT NULL,
`TIME` int(10) unsigned NOT NULL,
`DURATION` float unsigned NOT NULL,
`TICKS` int(10) unsigned NOT NULL,
`SCORE1` int(11) NOT NULL,
`SCORE2` int(11) NOT NULL,
`NAMES` text NOT NULL,
`CHAT` text NOT NULL,
`NOTES` text,
PRIMARY KEY (`ID`),
KEY `TIME` (`TIME`),
FULLTEXT KEY `PLAYERS` (`NAMES`,`CHAT`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7516 ;
-- --------------------------------------------------------
--
-- Table structure for table `PLAYERS`
--
CREATE TABLE IF NOT EXISTS `PLAYERS` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`MATCHID` int(11) NOT NULL,
`ACCOUNT` int(10) unsigned NOT NULL,
`BIGSTREAK` int(11) NOT NULL,
PRIMARY KEY (`ID`),
KEY `MATCH` (`MATCHID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=102291 ;
-- --------------------------------------------------------
--
-- Table structure for table `SERVERS`
--
CREATE TABLE IF NOT EXISTS `SERVERS` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`NAME` varchar(64) NOT NULL,
`GAME` varchar(16) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
/*!40101 SET [email protected]_CHARACTER_SET_CLIENT */;
/*!40101 SET [email protected]_CHARACTER_SET_RESULTS */;
/*!40101 SET [email protected]_COLLATION_CONNECTION */;
PHP:
<?php
$sql_addr = ''; // адрес SQL сервера
$sql_user = ''; // пользователь от SQL базы
$sql_password = ''; // пароль от SQL базы
$sql_database = ''; // имя SQL базы
?>
Шаг 4: Удаление демок и записей с сайта Оффтоп
через cron/ISPmanager
C-подобный:
1. Настраиваем и заливаем файл [B]demormv.sh[/B] на ваш сайт
2. Создаем новое задание cron на период - "каждый день"
PHP:
#!/bin/sh
mysql -B -T --user=пользователь_базы --password=пароль_от_базы --database=имя_базы --execute='DELETE FROM `INFO` WHERE `TIME` < UNIX_TIMESTAMP(NOW() - INTERVAL 4 DAY);'
find /var/www/user1111/data/www/yoursite.ru/logs -type f -mtime +4 -delete //Путь до папки logs
find /var/www/user1111/data/www/yoursite.ru/logs -type d -mtime +4 -delete //Путь до папки logs
find /var/www/user1111/data/www/yoursite.ru/demos -type f -mtime +4 -delete //Путь до папки demos
find /var/www/user1111/data/www/yoursite.ru/demos -type d -mtime +4 -delete //Путь до папки demos
PHP:
sh /var/www/user3453/data/www/yoursite.ru/demormv.sh >/dev/null 2>&1 //путь до файла demormv.sh
Шаг 5: Для тех кто использует nginx необходимо в настройках в общую локацию добавить rewrite:
PHP:
location / {
rewrite ^/([0-9]+)$ /view.php?demo=$1 last;
}
Отличие архива для установки на MyArena:
Итак, фикс вебчасти для Арены.
В аттаче уже архив с прописанными правками - просто заливаем на веб, как указано в мане.
Вся соль в том, что наговнохосте арены нет расширения zip для php, которое скрипты по-умолчанию юзают.
Вывод - выпиливаем архивацию и оставляем демки в свободном полёте.
Дальше - сами правки:
register.php - комментируем блок
было
PHP:// zip file to archive and delete $zip = new ZipArchive; $zip->open( "demos/$folder/$param_demo.zip", ZipArchive::CREATE ); $zip->addFile( "stage/$param_demo.dem", "$param_demo.dem" ); $zip->close();
стало:
PHP:// zip file to archive and delete //$zip = new ZipArchive; //$zip->open( "demos/$folder/$param_demo.zip", ZipArchive::CREATE ); //$zip->addFile( "stage/$param_demo.dem", "$param_demo.dem" ); //$zip->close();
после
добавляемPHP:// copy log file copy( "stage/$param_demo.log", "logs/$folder/$param_demo.log" );
PHP:// copy demo file copy( "stage/$param_demo.dem", "demos/$folder/$param_demo.dem" );
view.php
меняем
наPHP:'<div class="viewdemo downloadbutton"><a href="demos/' . $row['FILE'] . '.zip">Download</a></div><br>';
PHP:'<div class="viewdemo downloadbutton"><a href="demos/' . $row['FILE'] . '.dem">Download</a></div><br>';
search.php
точно так же - меняем
наPHP:<td class="downloadlink" style="width:32px" ><a class="fastdl_link" href="demos/'.$row['FILE'].'.zip"><div></div></a></td>
PHP:<td class="downloadlink" style="width:32px" ><a class="fastdl_link" href="demos/'.$row['FILE'].'.dem"><div></div></a></td>
Профит.
Установка завершена!
Благодарность
Фикс от взлома:
[CS:GO] Автозагрузка демок на сайт
[CS:GO] Автозагрузка демок на сайт
Плагин для CS:S - [CS:GO] Автозагрузка демок на сайт
Спасибо автору данной системы - pray'n'spray!
Отдельная благодарность @Tallanvor , @Hejter , @Forever Alone , @kolobok66rus !
Перевел WEB и выложил тему ThreshHNS
Вложения
Последнее редактирование модератором: