Авторизация  

Об этом сообществе

Здесь будет находится информация о услугах, бесплатные наработки для членов клуба, техническая поддержка и многое другое. Собака стива.

  1. Что нового в этом сообществе
  2. Если у вас возникла такая проблема, я вам подскажу как исправить. Переходим во вкладку > Внешний вид > Темы > topicviewtemplate ищем здесь такую строку: ipb.templates['post_moderation'] = new Template("<div id='comment_moderate_box' class='ipsFloatingAction' style='display: none'><span class='desc'>{$this->lang->words['comment_action_count']} </span><select id='tactInPopup' class='input_select'><option value='approve'>{$this->lang->words['cpt_approve']}</option><option value='delete'>{$this->lang->words['cpt_hide']}</option><option value='sundelete'>{$this->lang->words['cpt_undelete']}</option><option value='deletedo'>{$this->lang->words['cpt_delete']}</option><option value='merge'>{$this->lang->words['cpt_merge']}</option><option value='split'>{$this->lang->words['cpt_split']}</option><option value='move'>{$this->lang->words['cpt_move']}</option></select>&nbsp;&nbsp;<input type='button' class='input_submit' id='submitModAction' value='{$this->lang->words['comments_act_go']}' /></div>"); заменяем её на: ipb.topic.modPerms = []; <if test="$this->memberData['g_is_supmod']"> ipb.topic.modPerms['approve'] = 1; ipb.topic.modPerms['delete'] = 1; ipb.topic.modPerms['hide'] = 1; ipb.topic.modPerms['unhide'] = 1; ipb.topic.modPerms['merge'] = 1; ipb.topic.modPerms['split'] = 1; ipb.topic.modPerms['move'] = 1; <else /> <if test="isset( $this->memberData['forumsModeratorData'][ $forum['id'] ] )"> ipb.topic.modPerms['approve'] = {$this->memberData['forumsModeratorData'][ $forum['id'] ]['post_q']}; ipb.topic.modPerms['delete'] = {$this->memberData['forumsModeratorData'][ $forum['id'] ]['delete_post']}; ipb.topic.modPerms['hide'] = {$this->memberData['forumsModeratorData'][ $forum['id'] ]['bw_mod_soft_delete']}; ipb.topic.modPerms['unhide'] = {$this->memberData['forumsModeratorData'][ $forum['id'] ]['bw_mod_un_soft_delete']}; ipb.topic.modPerms['merge'] = {$this->memberData['forumsModeratorData'][ $forum['id'] ]['split_merge']}; ipb.topic.modPerms['split'] = {$this->memberData['forumsModeratorData'][ $forum['id'] ]['split_merge']}; ipb.topic.modPerms['move'] = {$this->memberData['forumsModeratorData'][ $forum['id'] ]['split_merge']}; </if> </if> ipb.templates['post_moderation'] = new Template("<div id='comment_moderate_box' class='ipsFloatingAction' style='display: none'><span class='desc'>{$this->lang->words['comment_action_count']} </span><select id='tactInPopup' class='input_select'><option value='approve'>{$this->lang->words['cpt_approve']}</option><option value='delete'>{$this->lang->words['cpt_hide']}</option><option value='sundelete'>{$this->lang->words['cpt_undelete']}</option><option value='deletedo'>{$this->lang->words['cpt_delete']}</option><option value='merge'>{$this->lang->words['cpt_merge']}</option><option value='split'>{$this->lang->words['cpt_split']}</option><option value='move'>{$this->lang->words['cpt_move']}</option></select>&nbsp;&nbsp;<input type='button' class='input_submit' id='submitModAction' value='{$this->lang->words['comments_act_go']}' /></div>"); Дальше ищем следующую вкладку > Внешний вид > Темы > forumIndexTemplate ищем такую строчку: ipb.templates['topic_moderation'] = new Template("<div id='comment_moderate_box' class='ipsFloatingAction' style='display: none'><span class='desc'>{$this->lang->words['f_comment_action_count']} </span><select id='tactInPopup' class='input_select'></select>&nbsp;&nbsp;<input type='button' class='input_submit' id='submitModAction' value='{$this->lang->words['comments_act_go']}' /></div>"); заменяем её на: ipb.forums.modPerms = []; <if test="$this->memberData['g_is_supmod']"> ipb.forums.modPerms['approve'] = 1; ipb.forums.modPerms['delete'] = 1; ipb.forums.modPerms['hide'] = 1; ipb.forums.modPerms['unhide'] = 1; ipb.forums.modPerms['pin'] = 1; ipb.forums.modPerms['unpin'] = 1; ipb.forums.modPerms['open'] = 1; ipb.forums.modPerms['close'] = 1; ipb.forums.modPerms['move'] = 1; ipb.forums.modPerms['merge'] = 1; <else /> <if test="isset( $this->memberData['forumsModeratorData'][ $forum_data['id'] ] )"> ipb.forums.modPerms['approve'] = {$this->memberData['forumsModeratorData'][ $forum_data['id'] ]['topic_q']}; ipb.forums.modPerms['delete'] = {$this->memberData['forumsModeratorData'][ $forum_data['id'] ]['delete_topic']}; ipb.forums.modPerms['hide'] = {$this->memberData['forumsModeratorData'][ $forum_data['id'] ]['bw_mod_soft_delete']}; ipb.forums.modPerms['unhide'] = {$this->memberData['forumsModeratorData'][ $forum_data['id'] ]['bw_mod_un_soft_delete']}; ipb.forums.modPerms['pin'] = {$this->memberData['forumsModeratorData'][ $forum_data['id'] ]['pin_topic']}; ipb.forums.modPerms['unpin'] = {$this->memberData['forumsModeratorData'][ $forum_data['id'] ]['unpin_topic']}; ipb.forums.modPerms['open'] = {$this->memberData['forumsModeratorData'][ $forum_data['id'] ]['open_topic']}; ipb.forums.modPerms['close'] = {$this->memberData['forumsModeratorData'][ $forum_data['id'] ]['close_topic']}; ipb.forums.modPerms['move'] = {$this->memberData['forumsModeratorData'][ $forum_data['id'] ]['move_topic']}; ipb.forums.modPerms['merge'] = {$this->memberData['forumsModeratorData'][ $forum_data['id'] ]['split_merge']}; </if> </if> ipb.templates['topic_moderation'] = new Template("<div id='comment_moderate_box' class='ipsFloatingAction' style='display: none'><span class='desc'>{$this->lang->words['f_comment_action_count']} </span><select id='tactInPopup' class='input_select'></select>&nbsp;&nbsp;<input type='button' class='input_submit' id='submitModAction' value='{$this->lang->words['comments_act_go']}' /></div>"); Результат что же вы видим? о БОЖЕ ОНО РАБОАТЕТ!1!111!111!!!! СТАВЬ ПЛЮСИК ЕСЛИ ПОМОГЛО, ЕСЛИ НЕ ПОМОГЛО ЖМИ НА КОЛОКОЛЬЧИК ПОДПИСЫВАЙСЯ НА МОЕ СООБЩЕСТВО
  3. Версия 1.0.0

    57 раз скачали

    Steve - Dogs Family По просьбе @KaRmiN, выкладываю в шару старую сборку именитого проекта Fatal-World (lin2-love,pulse-world,chaos-world) в шару. Ранее занимался разработкой этой сборки после того как @foxtrot, закончил работу над ним. В архиве можете найти патч, а скачать сборку через Яндекс.Диск(<-- кликнуть) так как не заливается в очередной раз на форум.

    Бесплатный

  4. kickuass

    [UNIX] Защита от DDoS | IP Tables

    Первый способ если мы запретим более 50 стран дедик на 2 дня уйдет пока не заблокирует все IP адреса всех стран (проверял) Ну и в готовых правилах открывать бд на внешку лучше не стоит (достаточно указать свой ip и сайта, больше она никому не нужна). Иначе это будет фиаско, братан))) Так же во многих сборках есть фишка которая позволяет логин серверу при успешной авторизации добавлять правило и открывать порт 7777 для нужного IP. Но стоит ещё прописать в onDisconnection (ЛСа и ГСа) аналогичные строки, но уже на удаление. Только с ЛСом там нужно подшаманить т.к. доходя до выбора сервера и выбирая его вы отключаетесь от ЛС, соответственно прописав закрытие порта 7777 при отключении от ЛС вы не войдёте. В противном случае за 2 дня вы забьете правила , а если у вас ещё и онлайн хороший сервер будет очень медленно работать с IPT. Да и не забываем дропать UDP трафик!) Мануал хороший, но для серьезного проекта это не подойдёт.) Хотя серьезный проект даже арбор или куратор не спасёт при мощной атаке)) Чё там говорить если OVH упал от чайников, тостеров и онлайн-камер (хотя 620 gb/s думаю врядли кто либо сможет отбить). Под МФИ-СОФТ если только размещаться, но я думаю это нерентабельное вложение.... да и рядом с СОРМами держать пиратский серв л2 надо быть рискованным человеком)
  5. Множество администраторов Lineage2 сталкиваются с проблемой настройки времени на своих серверах, в этом мануале постараемся их решить вместе с вами. Для начала разберем понятия, и термины связанные с временем в unix/debian Date — утилита Unix/Linux для работы с системными часами. Если вызвать date без параметров, то будет выведена текущая дата и время, соответствующие текущему часовому поясу. Чтобы посмотреть время в часовом поясе UTC, используйте команду date --utc (или сокращенно date -u). Необходимо следить за правильностью установки даты и времени, это нужно для корректной работы планировщика задач. Также, время и дата указывается во все основные системные лог-файлы и лог-файлы посещений веб-сервера. Как изменить временную зону в Debian/Linux? Нужно создать симлинк из /etc/localtime на "нужный" файл из каталога /usr/share/zoneinfo/: Выполняем команду: ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime Также советую изменить соответствующую запись в /etc/timezone Как изменить дату и время в Debian/Linux? date MMDDhhmmYYYY.ss Устанавливаем параметры указанные ниже. MM - месяц DD - день hh - час mm - минуты YYYY - год ss - секунды Как изменить время в Debian/Linux? date --set hh:mm Ставим вручную hh(час) / mm(минуты) допустим 21:42. Как синхронизировать время в Debian/Linux? Выполняем команду: ntpdate-debian Список серверов синхронизации можно посмотреть, и изменить здесь - /etc/default/ntpdate Чаще всего проще использовать команду для смены часового пояса. вводим команду в консоль. dpkg-reconfigure tzdata Выбираем: Europe --> Moscow Результат который должен появится после выбора: Current default time zone: 'Europe/Moscow' Local time is now: Tue Jan 9 06:20:33 MSK 2018. Universal Time is now: Tue Jan 9 03:20:33 UTC 2018. Автор: MishLen / linux-freebsd.ru Дописал: @SteveDogs
  6. Версия 1.0.0

    19 раз скачали

    В преддверии Нового Года Steve - Dogs Family решила порадовать свой "Клуб" Здесь находится полный комплект проекта la2onix.ru Полный бэкап сборки + базы; Полный бэкап сайта + св + шаблон; Полный бэкап форума + пользователи + шаблон; Этот проект ранее наводил большой ажиотаж в LineAge2 сфере. Теперь вы можете с него что-то извлечь для себя. . Сборку к сожалению не получилось по каким-то причинам залить на наш файловый хостинг, залил на Яндекс.Диск. В дальнейшем разберемся, и перезальем. Сборка ссылка: https://yadi.sk/d/N2OM9UHw3QZWSF Передаем приветы этому человеку, который оторвал от сердца эту шару @SamiyKrasivuy Всем приятных Новогодних Праздников!

    Бесплатный

  7. IP Tables и Защита от DDoS Внимание: работа с IPT на удаленной машине весьма опасна, не заблокируйте себе доступ к серверу Вариант №1: Запрет захода со сторонних стран Для облегчения польские девелоперы сделали скрипт. [Скачиваем его] Обязательно настройте страны внутри скрипта! Создаем папку /root/ddos Вводим: chmod +x count.sh Можем настроить страны для которых мы запрещаем соединение, они настраиваются в самом файле, открываем и редактируем. Вводим: cd /root/ddos && ./count.sh Запустили,скрипт внес изменения в IPtables P.S: по личному опыту знаю, что в большинстве случаев ддосят из азии, в основном китай. (самые дешевые сервера для ботнета) Вариант №2: Настройка соединений Так как на одного пользователя приходится - одно соединение с сервером, логично сделать ограничение. Для этого воспользуемся "connlimit" модом. Вводим: apt-get install user-mode-linux Теперь с помощью этого мода ограничим кол-во соединений на порт логина Вводим: iptables -A INPUT -p tcp --syn --dport 2106 -m connlimit --connlimit-above 20 -j REJECT --connlimit-above 20 - означает, что на логин приходится постепенно 20 соединений и не более На гейм-сервер думаю не актуально ставить такое ограничение, при досе свободные места забьются и никто не зайдет А вот на порт mysql я бы советовал поставить Вводим: iptables -A INPUT -p tcp --syn --dport 3306 -m connlimit --connlimit-above 30 -j REJECT Вариант №3: Установка правил Правил для IP Tables в интернете много, но не все вам нужны. Эти правила адаптированы под LineAge2 сервера. #!/bin/sh IPT=/sbin/iptables UNIPORTS="1024:65535" INET_IFACE="eth0" $IPT -F $IPT -X $IPT -A INPUT -i lo -j ACCEPT $IPT -A OUTPUT -o lo -j ACCEPT $IPT -A OUTPUT -o eth0 -j ACCEPT $IPT -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT $IPT -A INPUT -i eth0 -p tcp --dport 2106 -j ACCEPT $IPT -A INPUT -i eth0 -p tcp --dport 3306 -j ACCEPT $IPT -A INPUT -i eth0 -p tcp --dport 7777 -j ACCEPT $IPT -A INPUT -p ICMP -i eth0 -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 1024:65353 --sport 53 -j ACCE PT $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE --dport 1024:65535 -j AC CEPT --sports 80,443 ! --syn $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 1024:65535 --sport 21 -j ACCE PT ! --syn $IPT -A INPUT -i eth0 -p tcp --dport 2106 -m state --state NEW -m connlimit --connlimit-above 20 -j REJECT $IPT -P INPUT DROP Внимание: скрипт работает только для подключения eth0 Установим эти правила Создаем файл .sh Пусть он будет расположен здесь: /root/server/ipt.sh Заполняем его нашими правилами(см. выше) Выдаем ему права на выполнение: Вводим: cd /root/server Вводим: chmod +x ipt.sh И запускаем: Вводим: sh ./ipt.sh Все, ваш сервер полностью готов. По всем вопросам можете обращаться ко мне @SteveDogs
  8. В этом мануале вы сможете научится создавать пользователей Mysql, создавать базы данных и выдавать на них права. Входим в MySql mysql -u root -p< пароль_рута_на_mysql> Создаем в mysql новую базу данных и нового пользователя с правами на нее же. CREATE DATABASE имя_вашей_новой_базы;GRANT ALL PRIVILEGES ON имя_вашей_новой_базы.* TO 'новый_пользователь'@'localhost' IDENTIFIED BY 'пароль_для_нового_пользователя' WITH GRANT OPTION; Для того чтобы выставить новому пользователю полные права на все базы данных: GRANT ALL PRIVILEGES ON *.* TO 'новый_пользователь'@'localhost' IDENTIFIED BY 'пароль_для_нового_пользователя' WITH GRANT OPTION; Доступ к базе для данного пользователя возможен только с localhost. Если вы хотите дать ему доступ к базе с любого хоста, используете % вместо localhost: GRANT ALL PRIVILEGES ON имя_вашей_новой_базы.* TO 'новый_пользователь'@'%' IDENTIFIED BY ''пароль_для_нового_пользователя' WITH GRANT OPTION; Так же не забываем после всех действий сделать: FLUSH PRIVILEGES;
  9. Пожалуй начнем без долгих вступлений. В большинстве случаев сервер запускается на удаленной машине, а основная машина базируется на WinOS. Именно такой способ я и буду разбирать. 1. Необходимый софт Putty [скачать] WinSCP [скачать] 2. Соединяемся с сервером Запускаем putty.exe Вводим IP сервера и запускаем. Скрин снизу. Далее вводим логин и пароль от сервера. После удачного логина перед вами появится командная строка. 3. Установка компонентов Java JDK MySQL сервер/клиент Установка Java: Открываем терминал Вводим: apt-get install sun-java6-bin sun-java6-jre Установка Java 8: apt-get install oracle-java8-installer Вводим: update-java-alternatives -s java-6-sun #Устанавливаем ява sun - стандартной Java средой Проверка, вводим: java -Xmx100m -version #Если ошибок не выдает, то все ок Установка MySQL: Открываем терминал Вводим: apt-get install mysql-server mysql-client Во время установки система потребует ввести пароль для root пользователя MySQL 4. Передача сборки Открываем WinSCP который мы скачали в начале Подключаемся через него к нашему серверу (аналогично как в putty) Допустим у вас уже есть готовая сборка, не архивом,а просто папка В WinSCP на сервере создаем папку под сборку, к примеру /root/server В WinSCP заходим в папку на сервере, и выделяем нашу папку со сборкой на компе Нажимаем F5 -> пошла загрузка 5. Установка сборки Создаем базу mysql Вводим: mysql -u root -p #От нас потребуют пароль от root юзера который мы указывали при установке Вводим: CREATE DATABASE `server`; #Где server - имя создаваемой БД Вводим: exit Вводим: /etc/init.d/mysql restart Выдача прав root: grant all privileges on *.* to 'root'@'%' with grant option; С созданием базы все, теперь нужно ее заполнить Вводим: cd /root/server/tools #На PW папка не tools, а sql Вводим: chmod +rwx *.sh #Это дает rwx права sh файлам в данной папке Вместо *.sh желательно вбивать имена файлов, на PW это: login.sh и game.sh Вводим: sh ./installer.sh и устанавливаем сборку #На PW: sh ./login.sh и sh ./game.sh 6. Настройка и запуск сборки Настройку описывать не буду, там все просто Просто запускаем WinSCP -> соединяемся -> нажимаем на конфиг. файлы,открываем,редактируем,сохраняем Регистрация ГС (в PW не требуется) Вводим: cd /root/server/game/ #Путь до папки с гейм-сервером, в PW: gameserver Вводим: chmod +x registergameserver.sh #Выдаем права на запуск. Вводим: sh ./registergameserver.sh #Запускаем,регистрируем ГС Запуск сборки Вводим: cd /root/server/login/ Вводим: chmod +x *.sh или chmod +x start.sh Вводим: sh ./start.sh Если нету ошибок,поздравляю вы запустили логин, аналогично запускаем гейм Вводим: cd /root/server/game/ Вводим: chmod +x *.sh или chmod +x start.sh Вводим: sh ./start.sh Все, сервер запущен. Внимание, для установки Java теперь нужно добавить в ручную репозитарий. Для установки требуется добавить non-free репозитарии. В файле /etc/apt/sources.list было так: deb http://ftp.us.debian.org/debian/ squeeze main Сделать надо так: deb http://ftp.us.debian.org/debian/ squeeze main non-free После этого вы без проблем поставите Java. Внимание, для установки Java 8 нужно в ручную добавить репозитарий. deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise maindeb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main /etc/apt/sources.list - добавить в этот файл. После того как вы добавили репозитарий, вам не обходимо обновить список командой "apt-get update". После чего начать установку Java с помощью команд которые описаны выше. //франция - зеркало репозитария. deb http://ftp.fr.debian.org/debian wheezy main contrib non-freedeb-src http://ftp.fr.debian.org/debian wheezy main contrib non-freedeb http://ftp.fr.debian.org/debian wheezy-updates main contrib non-freedeb-src http://ftp.fr.debian.org/debian wheezy-updates main contrib non-freedeb http://ftp.fr.debian.org/debian wheezy-backports main contrib non-freedeb-src http://ftp.fr.debian.org/debian wheezy-backports main contrib non-freedeb http://security.debian.org/ wheezy/updates main contrib non-freedeb-src http://security.debian.org/ wheezy/updates main contrib non-free //Проблемы которые могут возникнуть Проблема: root@onix:~/onix/login# ./LoginServer_loop.sh: 2: ./LoginServer_loop.s: not found Исправление: Измените sh файл через notepad++, Правка > Формат конца строк > Преобразовать в Unix-формат (LF) Автор мануала: Pro (делалось для сборки pwsoft) Дополнил мануал: SteveDogs.
  10.