Настройка и работа в пиринговых сетях на основе технологии P2P

Тип работы:
Лабораторная работа
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение высшего профессионального образования

«КУЗБАССКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Кафедра

Информационных систем

Лабораторная работа № ХХ

«Настройка и работа в пиринговых сетях на основе технологии P2P»

Общие положения

Одноранговые, децентрализованные или пиринговые (от англ. peer-to-peer, P2P -- один на один, с глазу на глаз) сети -- это компьютерные сети, основанные на равноправии участников. В таких сетях отсутствуют выделенные серверы, а каждый узел (peer) является как клиентом, так и сервером. В отличие от архитектуры клиент-сервер, такая организация позволяет сохранять работоспособность сети при любом количестве и любом сочетании доступных узлов.

Основным этапом работы пиринговых сетей является правильный выбор и настройка серверной части. В настоящее время основным сервером для DC соединений является сервер PtokaX версии 0.3.5.2.7. Настройка данного сервера позволяет создать собственную файлообменную сеть.

Следующим этапом является подбор и настройка дополнительных (необязательных) скриптовых дополнений. В большинстве своем такие скрипты уже есть в возможностях сервера, так же их можно написать самому. При настройке скриптов администратор подстраивает их под свои конкретные нужды.

Завершающим этапом настройки сети является подбор клиентской части. Для подключения к файлообменной сети подойдет любой DC клиент, но желательно наиболее последней конфигурации.

Для работы клиентов в локальном режиме, в параметрах настройки необходимо указать Прямое соединение.

В начале работы в клиенте не будет никаких серверов. Их необходимо создать, зная IP или DNS адреса существующего сервера. Для развертывания в локальном режиме на одном компьютере путем будет являться localhost: 411, где 411 — стандартный порт DC соединений. Для развертывания на енскольких компьютерах-клиентах необходимо указывать IP или DNS адрес сервера, к примеру: 192. 168.1. 37:411 или dc-hub. kuzbass. net.

Описание сервера PtokaX.

Hub name — Имя хаба

Введите здесь название хаба

Hub topic — Топик

Введите здесь топик хаба. Обычно это информация о содержимом большинства шары на хабе или тем общения. Большинство клиентов показывают топик вслед за именем хаба.

Primary TCP port — Основной TCP порт

Основной порт используемый хабом. На этот порт приходят пользователи пришедшие со списка хабов (hublist) Стандарт: 411.

Secondary TCP port — Вторичный TCP порт

Расширяет возможности для некоторых пользователей, у которых основной порт заблокирован. Назначите какой-нибудь экзотический порт, чтобы увеличить вероятность того что у пользователя он будет доступен.

UDP port — UDP порт

Порт используется для принятия результатов активного поиска.

Hub address — Адрес хаба

Введите сюда адрес хаба, который будут использовать пользователи для входа на хаб. Вы можете указать 127.0.0.1 или localhost если хотите запустить Хаб локально, к примеру, для тестирования.

Admin’s nick

Ник используемый чтобы писать сообщения в Admin chat. Admin chat расположен на вкладке Users/Chat.

Hub description — Описание хаба

Это описание увидят пользователи рядом с именем хаба в списке хабов. Описание может быть любого размера. Хороший выбор — ввести информацию о том, что пользователи смогут найти у вас на хабе. К примеру если вы хотите сделать Хаб посвященный Классическому Металлу введите «Classic Metal» в описание хаба.

Anti MoGLo Description — Анти MoGLo Описание

Если отмечено MoGLo поисковик не сможет зайти к вам на Хаб.

Redirect address — адрес перенаправления

Укажите IP или DNS куда будут направляться пользователи когда вы их перенаправите. Под этим адресом расположены 2 чекбокса: Redirect all connecting users — перенаправить всех пользователей: запрещение подключению новых пользователей (они будут перенаправлены по указанному адресу) Redirect users when hub is full — перенаправить если Хаб полон: перенаправить пользователей если достигнут предел максимального количества пользователей (см далее).

Register address — Адрес регистрации

Адрес списка хабов в котором будет зарегистрирован ваш Хаб. После запуска хаба может пройти несколько дней прежде чем он будет принят списком хабов. Под этим полем расположен чекбокс Авторегистрация хаба.

Hub autostart — Автозапуск хаба

Когда поле отмечено Хаб будет запущен после запуска PtokaX.

Max users — Максимум пользователей

Введите число максимально возможных пользователей на хабе.

MOTD — Message Of The Day — Сообщение дня

Это сообщение увидит каждый пользователь, зашедший на хаб. Используйте чтобы ввести приветствие, правила и т. д. Отметьте Disable MOTD если не хотите показывать MOTD

Send MOTD in PM — Послать MOTD как PM

Если выделено MOTD будет посылаться как приватное сообщение вместо посылки в главный чат.

Start Hub — Запуск хаба

После нажатия на эту кнопку Хаб начнет принимать пользователей. Кнопка станет кнопкой «Stop Hub»

На рисунке представлено основное окно сервера.

Для настройки более точной необходимо перейти на вкладку Настройки. Как правило, там ничего не меняют. Для отладки системы антифлуда (защита от частых рекламных и иных сообщений) можно перейти на вкладку Антифлуд.

Скриптовые дополнения можно загружать и редактировать на вкладке Менеджер Скриптов. Все файлы скриптов должны иметь расширение «*. lua».

На сервере будет представлен скрипт-бот (автоматическая система модерирования).

В данную сборку сервера включен наиболее распространенный на данный момент бот HUBBABOT.

2. Подробно о некоторых уникальных возможностях бота

Система контекстных действий в зависимости от версии клиента

В зависимости от названия клиента и номера его версии, пользователю выводятся сообщения от бота и принимается решение о его впуске на хаб. Используется для мотивации пользователей переходить на новейшие версии клиентов.

Лингвистический фильтр

Работает в двух режимах. В первом сообщения пользователей проверяются на наличие запретных буквосочетаний, не входящих в состав разрешенных слов: оголтелый мат и ругань отсекаются на 100%, при срабатывании фильтра в первом режиме бот наказывает пользователя сам.

Второй режим — параноидальный: при проверке используется история сообщений пользователя с удаленными знаками препинания и пробелами. С легкостью ловит ругань, разнесенную на несколько строчек или разделенную знаками препинания. При этом практически невозможно избавиться от ложных срабатываний на фразы вроде «наверху йогурты пил», поэтому при срабатывании фильтра в параноидальном режиме бот делает соответствующую запись в логи, предоставляя администраторам право решать, была ругань или нет.

Важнейшая составляющая лингвистического фильтра — словари, от их качества напрямую зависит, что бот фильтрует и как. Ничто не мешает составить словари таким образом, чтобы бот отсекал все иностранные слова (для хаба руссофилов) или не позволял пользователям обсуждать компьютерные проблемы (для хаба группы психологического восстановления сисадминов). С ботом идут словари, которые составлены эмпирическим путем и проверены на большом количестве литературных источников и годовой работой на хабе. Тем не менее, ложные срабатывания из-за неологизмов вроде «хуиз"(от whois) или ошибок типа «расслобляться» вполне вероятны. Но особенно сильно раздувать словарь бота не стоит — это напрямую влияет на производительность скрипта, да и для самих пользователей полезно привыкать к грамотному правописанию.

Система ограничений на скачивание

Введена для создания на хабе демократии и мотивации пользователей на расшаривание. Каждый пользователь решает для себя сам, сколько данных он хочет расшарить. Так почему бы не дать возможность тем, кто приносит пользу сети, ограничить доступ к себе для халявщиков?

При включении системы каждый пользователь может задать размер шары, необходимый другим пользовательам, чтобы получить доступ на его файлы. При этом максимальный размер ограничений не может быть больше определяемой в настройках доли от шары пользователя (у меня на хабе это 1/10). Таким образом, каждый полезный для хаба пользователь, расшаривший больше 10 байт, может запретить качать с него, например, совсем уж обнаглевшим халявщикам, выставив ограничение в 1 байт. С другой стороны, обладатель приличной коллекции может, расшарив 200 гигабайт, установить ограничение в 20 гигабайт, избавив себя от бесчисленного количества файлососов (и мотивируя тем самым их на расшаривание большего количества информации).

Если, например, пользователь расшарил 700 мегабайт и пытается скачать что-то с пользователя, у которого выставлено ограничение в 2 гигабайта, то вместо файлов он получает от бота сообщение о невозможности скачивания и размере ограничения, которое необходимо преодолеть.

Как правило, не все пользователи выставляют ограничения, поэтому новичок, пришедший на хаб, сразу сможет качать файлы. Но через некоторое время он обнаружит, что самые большие коллекции ему недоступны. Многие файлы он сможет находить через поиск — но при попытке скачивания узнает, что размер его шары недостаточен. Пользователю приходится увеличивать шару, сеть растет, все довольны!

Справедливости ради стоит заметить, что в условиях работы по протоколу Direct Connect невозможно на 100% обеспечить изоляцию «малошарящего» пользователя от закрытых ограничениями шар. Дело в том, что в момент, когда два пользователя одновременно соединяются друг с другом, пользователь с недостаточной шарой иногда может получить доступ на закрытую ограничениями шару. Тем не менее, в реальных условиях такое сочетание факторов встречается достаточно редко, чтобы обеспечить приемлемый уровень воздействия на личеров.

Еще один режим работы системы — поддержка максимального уровня ограничений. В этом случае бот автоматически пересчитывает значение ограничений при увеличении шары пользователя.

Возрастно-шаровой ценз в чате

Администратор может запретить говорить в чате пользователям, с момента первого подключения к хабу которых прошло больше определенного времени, и которые расшарили недостаточно много. Два варианта работы — ограничение на чат задается постоянным или вычисляется в зависимости от средней шары на хабе. Не пропуская сообщение пользователя в чат, бот отсылает ему сообщение с просьбой расшариться. Лишение права говорить в чате не относится к наказаниям — как только пользователь преодолеет ценз, он может говорить в чате. Таким образом, новички могут свободно общаться в чате, но спустя определенное время им все-таки придется расшариться.

Система «защиты от детей»

Нередки случаи, когда одним компьютером пользуются, например, старший брат (взрослый и адекватный, расшаривающий кучу всего полезного и вообще хороший человек), и младший брат (глупый и неуправляемый по причине малолетства). Днем младший заходит в чат, обкладывает всех матом и получает наказание. Вечером старший брат обнаруживает, что на его ip повешено наказание. Так как единственный способ идентифицировать пользователей — ip адрес, то за выходки одного из пользователей компьютера расплачиваются все.

Для разрешения подобных ситуаций и создана система «защиты от детей». Зарегистрировав свой ник на хабе, пользователь обращается к администратору с просьбой заблокировать этот ник. После блокировки при подключении с ip-адреса пользователя под любым ником, кроме зафиксированного, чат пользовательу недоступен. Не зная пароля на ник старшего брата, младший может подключиться под любым другим ником, при этом он не сможет нагадить в чате, хотя без проблем может качать файлы, использовать поиск, писать приватные сообщения и т. д. и т. п.

Накопительная система наказаний

За ругань, рекламу, ор и флуд в чате бот назначает наказание в виде временного лишения права говорить в чате. За нецензурные ники, описания ресурсов и подделку ника бота бот назначает наказание в виде временного лишения доступа на хаб. Временные наказания снимаются автоматически сразу после истечения их срока. Хозяин хаба и администраторы (при условии доступности команд) также могут назначать любые временные и постоянные наказания и снимать их досрочно.

Бот запоминает количество нарушений правил для каждого пользователя, и назначает срок очередного наказания, исходя из этого количества. Базовый срок наказания за нарушение задается в настройках, я принимаю его равным 1 суткам — тогда при первом нарушении любого из правил срок наказания равен 1 суткам, при N-ом — уже N суткам.

Хозяин хаба и администраторы (при условии доступности команд) также имеют возможность корректировать вручную счетчик нарушений для любого из пользователей.

3. Папки и файлы бота

HUBBABOTCFG — здесь находятся файлы, содержимое которых можно и нужно править для настройки бота.

versions. dat — версии клиентов и действия, связанные с ними. Формат: Тег|Номер версии|Что делать|Имя файла. Здесь: * - любой номер версии. k — клиент не пускается на хаб, ему выводится сообщение из файла, s — клиенту показывается сообщение из файла, i — клиент игнорируется. Если найдено точное совпадение для версии клиента, выполняется это условие. В противном случае, если есть запись для всех версий этого клиента (с * в поле номера версии), выполняется оно. Если ни одной подходящей записи не обнаружена, в логи делается запись с тегом и версией неопознанного клиента.

CmdCheck. dat — уровни доступа к командам. (ABCDE, А — доступ обыкновенному пользователю, B — зарегистрированному, С — vip, D — оператору, E — хозяину хаба). Раздавать права на команды следует осторожно, чтобы не устроить на хабе полнейшую анархию.

owner. dat — информация о хозяине хаба.

tcfg. dat — значения общесистемных таймеров.

Шаблоны сигнальных слов, построены по формату: сигнальная_строка | исключение, исключение, … исключение. Набор символов в квадратных скобках означает любой из символов (подробнее — в мануале по Lua). Например: [бБ][лЛ][яЯ]| корабля, [рР]убля. | после сигнальной строки обязателен, даже если нет ни одного исключения.

bad_chat. dat — шаблоны запретных слов и исключений для чата.

bad_nick. dat — шаблоны запретных слов и исключений для ника и описания ресурсов.

bad_paranoid_chat. dat — шаблоны запретных слов и исключений для параноидальной проверки чата.

bad_paranoid_nick. dat — шаблоны запретных слов и исключений для параноидальной проверки ника и описания ресурсов.

anti_adv. dat — шаблоны запретных слов и исключений для детектора рекламы

UserCommands. dat — шаблоны сервисных команд, посылаемых ботом на клиент через $UserCommands

bot. dat — настройка ника бота и паттерна для поиска ников, его изображающих

Диапазоны ip в формате A.B.C.D — E.F.G.H (или A.B.C.D для одного адреса)

chat_only_ip. dat — диапазоны ip, с которых разрешен только чат на хабе. Поиск, закачка и передача файлов у этих пользователей отключены. При подключении пользователям из указанных диапазонов высылается текст из файла TEXTSchat_only. txt, в котором доступны теги [IP] - ip-адрес, администратор хаба: [HUBOWNER]. связь с администратором: [OWNERCONTACT]. диапазоны ip, с которых разрешен только чат на хабе.

allow_enter_ip. dat — диапазоны ip, с которых разрешен вход на хаб. При подключении пользователям с адресов, не попадающих в указанные в этом файле диапазоны, они не пускаются на хаб, получая сообщение из файла TEXTSno_enter. txt, в котором доступны теги [IP] - ip-адрес, администратор хаба: [HUBOWNER]. связь с администратором: [OWNERCONTACT].

no_p_ip. dat — диапазоны ip, которым не высылаются сообщения о пассивном режиме.

no_v_ip. dat — диапазоны ip, у которых не проверяется версия клиента.

multi_nick_ip. dat — диапазоны ip, для которых разрешается одновременный вход с несколькими никами (если в настройках бота одновременный вход с несколькими никами запрещен).

no_chat_ip. dat — диапазоны ip-адресов, для которых заблокирован чат. При попытке разговаривать в чате отсылается сообщение из файла TEXTSno_chat. txt, в котором доступны теги [IP] - ip-адрес, администратор хаба: [HUBOWNER]. связь с администратором: [OWNERCONTACT].

pass_commands. dat — список команд, содержимое которых бот не анализирует. Используется для сопряжения бота с другими скриптами.

HUBBABOTDATA — служебные данные хаба. Править вручную не рекомендуется.

HUBBABOTLANG — тесктовые сообщения хаба. Можно и нужно править вручную для перевода хаба на другие языки.

HUBBABOTLOGS — логи хаба.

HUBBABOTTEXTS — тексты, рассылаемые ботом в различных случаях (правила, FAQ, просьба расшариться итп). Можно и нужно править вручную для придания хабу индивидуальности.

HUBBABOTCLIENTS — текстовые сообщения, отправляемые в зависимости от версии клиента. Можно и нужно править вручную. Имена файлов из этой папки используются в versions. dat.

HUBBABOTUС — произвольные пользователькоманды, записанные в файлах этой папки (1. dat — 5. dat) рассылаются пользователям с соответствующим уровнем на хабе (1 — пользователь, 2 — рег. пользователь, 3 — вип, 4 — оп, 5 — мастер)

4. Команды бота

Все команды боту могут быть даны в основном чате, в приват боту, а также с помошью контекстного меню закладки хаба или списка пользователей, в зависимости от их действия. Встроенные команды хаба PtokaX ботом блокируются, за исключением тех, что полезны и необходимы — эти команды также выводятся в списке доступных, но выполняются только в случае подачи их в основном чате или при выборе из контекстного меню.

5. Расшифровка системных настроек

Список всех настроек — !options, либо через контекстное меню хаба, установка — через команду! set, либо через контекстное меню хаба.

AllowOtherCommands — 1: Бот пропускает неизвестные команды в хаб, 0: бот блокирует прохождение неизвестных команд в хаб, сообщая о неправильности команд пользователю.

AskShareToPm — бот просит о расшаривании в приват (0 — в чат).

BANTIME — единица времени наказаний (сек., 86 400 = 1 сутки).

BotMessagesToPm — бот посылает сообщения в приват (0 — в чат).

ChatCheck — включить детектор ругани в чате (0/1).

ChatQMode, ChatQRatio, ChatQTime, ChatQValue — «возрастно-шаровой» ценз в чате. Администратор может запретить говорить в чате пользователям, с момента первого подключения к хабу которых прошло больше определенного времени, и которые расшарили недостаточно много. Системные настройки: ChatQMode=0 — ценз отключен. При ChatQMode=1 бот не дает говорить в чате пользовательам, с момента первого подключения которых прошло больше ChatQTime секунд и которые расшарили меньше ChatQValue байт. При ChatQMode=2 бот не дает говорить в чате пользовательам, с момента первого подключения которых прошло больше ChatQTime секунд и которые расшарили меньше, чем (текущий_средний_размер_шары_на_хабе) / ChatQRatio. Не пропуская сообщение пользователя в чат, бот отсылает ему сообщение из файла TEXTSChatQ. txt, в котором доступен тег [MINSHARE] для текущего значения ценза, [CURSHARE] для размера шары пользователя.

DisableLogs — выключить логи (0/1).

FloodCheck, FLOODTIME, FloodValue, FloodWarn. Детектор флуда. FloodCheck=0 — отключен. При FloodCheck=1 бот предупреждает пользователя, если в чате произнесено более FloodWarn сообщений за последние FLOODTIME секунд, и наказывает его, если если в чате произнесено более FloodValue сообщений за последние FLOODTIME секунд.

FixOdcBug — исправлять ошибку oDC, из-за которой он вылетает при отсылке в чат пустых сообщений (0/1).

GlobalMinimumShare — минимальный размер шары для входа на хаб (в байтах). (0 — проверка отключена). Если размер шары пользователя меньше ограничения, он не пускается на хаб, и ему отсылается сообщение из файла TEXTSsmallshare. txt, в котором доступны теги [SIZE] для размера ограничений и [YOURSIZE] для текущего размера шары пользователя.

HalloToPm — приветственное сообщение в приват (0 — в чат).

LRLevel, LRAddress, LRReason — редирект пользовательов на другой адрес. Бот перенаправляет пользовательов с уровнем ниже или равным LRLevel на адрес LRAddress по причине LRReason. Уровни: 1-пользователь, 2-рег. пользователь, 3-vip, 4-модератор, 5-администратор (хозяин). LRLevel = 0 — перенаправление отключено. При LRAddress=0 происходит не редирект, а отключение пользователя с отсылкой ему сообщения LRReason.

MailOn — включить систему сообщений пользователям в оффлайне (0/1).

MainChatOff — заблокировать основной чат (0/1).

MaxMailSize — максимальный размер сообщения в оффлайн (0 — проверка не производится).

MaxParanoidHistory — количество сообщений пользовательа, используемое при параноидальной проверке чата.

NickDescrCheck — проверять ник и описание ресурсов на ругань (0/1).

NoAdvCheck, NoAdvTime, NoAdvWarn NoAdvBan — детектор рекламы в чате. NoAdvCheck (0-детектор выкл/1-вкл). Если пользователь произнес за последние NoAdvTime секунд больше NoAdvWarn сообщений, принятых фильтром за рекламу, ему отсылается предупреждение о том, что частая реклама на хабе запрещена. Если пользователь произнес за последние NoAdvTime секунд больше NoAdvBan сообщений, принятых фильтром за рекламу, он лишается права говорить в чате.

NoLeechOn — включить систему ограничений на скачку в зависимости от объема шары (0/1).

NoLeechRatio — во сколько раз шара пользователя должна быть больше максимального возможного ограничения на скачивание, которое пользователь может установить.

NoLeechTime (сек) — если у пользовательа A включено ограничение на скачку, и шара пользовательа B недостаточна для получения права скачки с А, то сообщение о необходимости расшариться для получения права скачки будет высылаться ботом пользовательу B не чаще чем раз в NoLeechTime секунд, даже если клиент B обращается к, А чаще.

NoYellCount, NoYellMode, NoYellSize, NoYellTime, NoYellVal. Детектор ора в чате. NoYellMode (0/½) — режим детектора (0-выкл). Детектор учитывает только фразы, в которых содержится больше чем NoYellSize букв, ором считаются фразы с процентом содержания заглавных букв среди всех букв больше чем NoYellVal (0=< NoYellVal=<1). При оре в чате бот предупреждает пользовательа сообщением. В режиме 1, если пользователь проорал больше NoYellCount фраз за последние NoYellTime секунд, бот лишает его права говорить в чате (при NoYellCount=0 наказание назначается за первый же ор). В режиме 2 бот всего лишь подменяет каждое проораное сообщение пользовательа, заменяя в нем все прописные буквы на строчные.

ParanoidChatCheck — параноидальная проверка чата (0/1).

ParanoidDescrCheck — параноидальная проверка описания ресурсов на ругань (0/1).

RandomAskShareNick — сообщеня с просьбой расшариться от лица случайного ника (0/1).

ReportBansToMaster — показывать инфо о забаненых пользователях при подключении хозяина (0/1).

ReportBansToOp — показывать инфо о забаненых пользователях при подключении операторов (0/1).

ReportParanoidToMaster, ReportParanoidToOp — отсылать в ПМ мастерам и опам при срабатывании параноидального детектора ругани в чате.

STATS_S_TIME, STATS_S_VAL, STATS_U_TIME, STATS_U_VAL. Триггеры для сообщений о рекордах хаба. Сообщение об установке нового рекорда количества он-лайн пользовательов на хабе показывается, если со времени прошлого показа прошло больше STATS_U_TIME секунд, или количество пользовательов он-лайн по сравнению с прошлым показом увеличилось больше чем на STATS_U_VAL человек. Сообщение об установке нового рекорда суммарной шары показывается, если со времени прошлого показа прошло больше STATS_S_TIME секунд, или объем суммарной шары по сравнению с прошлым показом возрос более чем на STATS_S_VAL байт.

ShareRecordTIME — время, в течение которого размер шары пользователя, ушедшего с хаба, участвует в рейтинге (сек, 604 800=1 неделя)

ShareTopOn — вести рейтинг пользователей по объему шары (0/1).

ShowNews — показывать новости (0/1).

SingleIp (0-выкл/1-вкл). Запрет входа на хаб нескольким никам с одного ip-адреса. При попытке входа на хаб с ip, с которого уже кто-то подключился, пользователю отсылается сообщение из файла singleip. txt. Доступны теги: [IP] - ip-адрес. [NICK] - ник уже подключенного пользователя. Администратор хаба: [HUBOWNER]. Связь с администратором: [OWNERCONTACT].

Напомним, что для корректной работы бота, его необходимо сначала настроить, изменив должным образом его код.

компьютерный сеть сервер бот

6. Порядок лабораторной работы и ее цели

Целью данной лабораторной работы является овладение основными навыками по установке и настройке DC сервера и клиента.

Запустите установленный сервер (файл PtokaX. exe).

Выполните настройку параметров подключения сервера.

Настройте несколько скриптов для работы.

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

Запустите клиент Р2Р.

Настройте его для работы с Вашим сервером.

Проверьте правильность работы сервера. При возникновении ошибок повторите пункты 2 и 3.

Составьте отчет о настройке клиента.

7. Индивидуальные задания

Вариант 1.

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

Вариант 2.

Найдите и измените текст приветствия при входе на сервер. Запустите два клиента (PeLink и FlyLink). При ошибке будет выдано сообщение в главный чат об ошибке. В данном случае будет работать только один клиент.

Вариант 3.

Найдите и измените список запрещенных слов. Добавьте новые запрещенные слова и исключения к ним. Затем проверьте в клиенте.

Примечание: символы, стоящие перед знаком «|» — запрещенные слова, после этого знака — слова-исключения.

Вариант 4.

Создайте Сообщение дня и выводите его каждый 3 минуты в автоматическом режиме.

ПоказатьСвернуть
Заполнить форму текущей работой