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

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

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

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

3 страниц V   1 2 »

WebTop - список игроков сервера

, Список игроков из csstats.dat
Статус пользователя Flesh
сообщение 18.6.2014, 10:38
Сообщение #1


Стаж: 17 лет

Сообщений: 319
Благодарностей: 168
Полезность: 776

WebTop - список игроков сервера


Информация:
Данный скрипт выводит игроков из файла статистики "csstats.dat".

Демо: http://statsgto.16mb.com/webtop/

Установка:
  1. Загрузите все файлы на веб-сервер
  2. Откройте файл "config.php".
  3. Если ваш сервер CS находится на другом компьютере и вы подключаетесь к нему по FTP то поменяйте переменную
    $config['ftp'] = false;
    на
    $config['ftp'] = true;
    И впишите данные от FTP в:
    $config['host'] = 'ftp.example.ru';
    $config['port'] = 21;
    $config['user'] = 'admin';
    $config['pass'] = 'admin';
  4. Указываем адрес папки где находится "csstats.bat"
    $config['patch'] = '/cstrike/addons/amxmodx/data/'; - Для FTP
    $config['patch'] = 'E:/hlds/server_clean/cstrike/addons/amxmodx/data/'; - Для локального сервера
  5. Указываем кол-во игроков на одной странице:
    $config['page'] = 30;
  6. Устанавливаем cron задачу на файл cron.php


Скачать: Прикрепленный файл  webtop.zip ( 16,41 килобайт ) Кол-во скачиваний: 157


Отредактировал: Flesh, - 18.6.2014, 10:50
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 9 раз
   Цитировать сообщение
Статус пользователя Nebo
сообщение 18.6.2014, 10:39
Сообщение #2


Стаж: 13 лет
Город: Казань

Сообщений: 3181
Благодарностей: 1015
Полезность: 701

Так вроде бы уже есть такое, не?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя fitamin4ik
сообщение 18.6.2014, 10:40
Сообщение #3
Стаж: 15 лет

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

да именно флеш и скидывал (давно)

Скрытый текст
О, флеш вернулся :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Flesh
сообщение 18.6.2014, 10:43
Сообщение #4


Стаж: 17 лет

Сообщений: 319
Благодарностей: 168
Полезность: 776

Цитата(Nebo @ 18.6.2014, 12:39) *
Так вроде бы уже есть такое, не?

Все что я смог найти, так это только PHP класс для чтения файла статистики. По этому я решил сделать скрипт для среднестатистического держателя сервера, которому не сильно хочется разбиратся в программировании. Я как можно сильнее упростил возможность изменения дизайна скрипта. Если что то подобное есть, то ничего страшного, ведь я это не продаю.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя f1nik
сообщение 18.6.2014, 10:45
Сообщение #5


Иконка группы

Стаж: 15 лет

Сообщений: 1862
Благодарностей: 932
Полезность: 1010

Цитата(Nebo @ 18.6.2014, 10:39) *
Так вроде бы уже есть такое, не?


Есть что то подобное Тык, но работает по другому принципу... Там плагином наполнялся данными текстовый файл, а потом скриптом парсилось все это дело... Работало не всегда ровно))) Если памямть не изменяет то через сокеты...
Тут все по другому))) обработка прямая .dat файла.

Только вопрос, если записей более 10000 то как с нагрузом? когда cron работает.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Flesh
сообщение 18.6.2014, 10:49
Сообщение #6


Стаж: 17 лет

Сообщений: 319
Благодарностей: 168
Полезность: 776

Цитата(f1nik @ 18.6.2014, 12:45) *
Только вопрос, если записей более 10000 то как с нагрузом? когда cron работает.

Нагрузка на cron будет небольшой, а вот на счет работы скрипта я не уверен. Небыло возможности протестировать с таким файлом статистики.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 18.6.2014, 11:12
Сообщение #7
Стаж: 12 лет

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

Flesh,
плохая идея формировать страницу из файл постоянно при открытии...
сделайте кеширование.

ps.gif При большом кол-ве записей вы изнасилуете php. ему и так не легко приходится, тут еще файл читать каждый раз...
думаю десятка 2 ботов уложат процесс апача :D
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Flesh
сообщение 18.6.2014, 11:21
Сообщение #8


Стаж: 17 лет

Сообщений: 319
Благодарностей: 168
Полезность: 776

Цитата(trollface @ 18.6.2014, 13:12) *
Flesh,
плохая идея формировать страницу из файл постоянно при открытии...
сделайте кеширование.

ps.gif При большом кол-ве записей вы изнасилуете php. ему и так не легко приходится, тут еще файл читать каждый раз...
думаю десятка 2 ботов уложат процесс апача :D

Как вы предлогаете кешировать ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 18.6.2014, 11:31
Сообщение #9
Стаж: 12 лет

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

Flesh,
пишим инфу с csstats.dat в расшифрованном виде в файлик и потом скриптом просто читаем.
по ресурсам это будет легче, чем в реалтайме гонять через класс csstats
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 18.6.2014, 11:48
Сообщение #10


Иконка группы

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Вот еще есть статистика
https://c-s.net.ua/forum/index.php?showtopic=57818


Гнилой фашистской нечисти
Загоним пулю в лоб,
Отродью человечества
Сколотим крепкий гроб!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 18.6.2014, 11:54
Сообщение #11
Стаж: 12 лет

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

Fred Perry,
Решение, предложенное, Flesh лучше, я имею ввиду способ получения файла csstats и его дальнейшая судьба:)
Но что там что там будет нагрузка приличная sad.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
exec1337
сообщение 18.6.2014, 11:59
Сообщение #12
Стаж: 13 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

Поиск бы ещё...
forums.alliedmods.net/showthread.php?t=70140
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Flesh
сообщение 18.6.2014, 12:10
Сообщение #13


Стаж: 17 лет

Сообщений: 319
Благодарностей: 168
Полезность: 776

Цитата(trollface @ 18.6.2014, 13:31) *
Flesh,
пишим инфу с csstats.dat в расшифрованном виде в файлик и потом скриптом просто читаем.
по ресурсам это будет легче, чем в реалтайме гонять через класс csstats

Я тут подумал, ещё можно кешировать каждую страницу отдельно при запуске cron.php
Например на сервере 10000 игроков, на странице 30 игроков => 334 страницы.
Предпологаю что кеширование такого кол-ва страниц не должно быть больше минуты. И к тому же пользователь будет мгновенно получать уже готовую страницу.

Отредактировал: Flesh, - 18.6.2014, 12:10
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 18.6.2014, 12:38
Сообщение #14
Стаж: 12 лет

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

Flesh,
во.
это уже здравая мысль:)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 18.6.2014, 12:43
Сообщение #15


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

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

Я наверное не знаю английского, или что =))) Везде это вижу =))
Код
$config['patch']


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

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
trollface
сообщение 18.6.2014, 12:48
Сообщение #16
Стаж: 12 лет

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

onotole,
path наверно. не?:D
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Flesh
сообщение 18.6.2014, 12:52
Сообщение #17


Стаж: 17 лет

Сообщений: 319
Благодарностей: 168
Полезность: 776

Да, опечатка. Писал на сонную голову
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя jtiq
сообщение 18.6.2014, 13:13
Сообщение #18


Иконка группы

Стаж: 18 лет

Сообщений: 1717
Благодарностей: 767
Полезность: 979

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

Flesh,
проще будет создать какой нибудь cached.php, где будет хранится распарсенная инфа в массиве типа:
Код
<?php

return array(
  array(
    'nick' => "Flesh",
    'uniq' => "Flesh",
    'teamkill' => 12,
    'damage' => 105453,
    'deaths' => 435,
    'kills' => 785,
    'shots' => 13924,
    'hits' => 3383,
    'headshots' => 289,
    'defusions' => 41,
    'defused' => 28,
    'plants' => 53,
    'explosions' => 9,
    'head' => 402,
    'chest' => 498,
    'stomach' => 367,
    'leftarm' => 1163,
    'rightarm' => 290,
    'leftleg' => 326,
    'rightleg' => 245,
    'acc' => 24,
    'rank' => 1
  )
);

?>

а крон просто будет обновлять его, так же постраничка будет брать срез массива (array_slice()) согласно настройкам

Код
$output['items'] = @require 'cached.php';
$output['items_count'] = count($output['items']);

как то так наверное
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Flesh
сообщение 18.6.2014, 13:32
Сообщение #19


Стаж: 17 лет

Сообщений: 319
Благодарностей: 168
Полезность: 776

jtiq,
Не, это не подходит.
Прикрепленный файл  cached.zip ( 22,29 килобайт ) Кол-во скачиваний: 5
в этом архиве находится файл cached.php. В этом файле хранится переменная в которой лежит массив состоящий примерно из 10080 элементов, каждый из который состоит из 22-х элементов.
Весит это 4.87мб. При подключении этого файле сервер выдает ошибку: "Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 25165824 bytes) in D:\WebServer\www\cached.php on line 65540".
То есть для такого варианта кеширования нужно ещё править php.ini, да и слишком это ресурсоемко

Отредактировал: Flesh, - 18.6.2014, 13:33
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя jtiq
сообщение 18.6.2014, 13:34
Сообщение #20


Иконка группы

Стаж: 18 лет

Сообщений: 1717
Благодарностей: 767
Полезность: 979

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

Flesh,
serialize?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
3 страниц V   1 2 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: