PDA

View Full Version : [RUS-ENG Community] The idea to create plugin Time Server


Rolfes
03-05-2009, 13:56
Hi all...
The idea to create plugin Time Server
Help make a plugin, but, need a translator from Russian into English and from English into Russian.

Доброго времени суток великие программеры\кодеры\переводчики!!!

Хотелось бы помощи в разработке плагина для Counter-Strike v1.6
По скольку я не имею знаний программирования, но у меня есть идея к разработке плагина, то я буду очень признателен тем людям которые помогут в этом не легком для меня деле, ну а теперь собственно по теме.

Название для плагина: Time Server
Credit:
The idea to create.......... Rolfes and Bastien
Translator...................... Тут могли бы быть ваше имя или nickname
Programming and coding.... Тут могли бы быть ваше имя или nickname


Возможности при работе с плагином:
1. Кикать всех игроков с сервера в определенное время по выбору администратора.
2. Рестарт сервера в определенное время по выбору администратора.
3. Выключение сервера в определенное время по выбору администратора.
4. Занесения паролей в базу данных*
5. Установка пароля
6. Снятие пароля
7. Автоматическая смена пароля если он стоит на сервере*
8. Возможность указания причины кика (латинскими буквами)
9. Возможность комбинировать действия, то есть:
а). Делать рестарт сервера в определенное время по выбору, а так же автоматически менять пароль если он стоит на сервере*.
б). Кикать всех игроков в определенное время по выбору, а так же автоматически менять пароль если он стоит на сервере*
в). Кикать всех игроков в определенное время по выбору, а так же автоматически выключать сервер.
10. Бот для отправки информации о смене пароля

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

Доступность:
Только для администраторов через rcon или визуальное меню

Пояснение к командам:
.kick_all - кикает всех игроков по выбранному времени и причине.
.kick_all_ch_pass - кикает всех игроков с сервера и меняет пароль.
.kick_all_shutdown - кикает всех игроков и выключает сервер.
.activ_pass - установить пароль на сервер
.dactiv_pass - снять пароль с сервера
.restart_server - делает рестарт по выбранному времени.
.restart_server_ch_pass - делает рестарт сервера и меняет пароль.
.shutdown_server - выключает сервер в определенное время.
.save_password - заносит пароль в базу данных.

Прим. Для того что бы они работали нужно использовать команду /say, но нужно сделать так что бы небыло видно то что мы отправили в чат введя к примеру вот эти строчки: /say .save_password [#1 bad1]

Пример доступных команд через /say:
.save_password [#1 bad1]
.kick_all [Time][Reason]
.kick_all_ch_pass [Time][Reason][#1 to #2] или [#1 to #3] или [#2 to #1] или [#2 to #3] или [#3 to #1] или [#3 to #2]
.kick_all_shutdown [Time][Reason]
.shutdown_server [Time]
.restart_server [Time]
.restart_server_ch_pass [Time][#1 to #2] или [#1 to #3] или [#2 to #1] или [#2 to #3] или [#3 to #1] или [#3 to #2]
.activ_pass [#1 bad1][#2 bad2][#3 bad3]
.dactiv_pass [#1 bad1][#2 bad2][#3 bad3]

Прим. Команда Time должна работать в следующим виде, т.е используя информацию с сервера и клиента о времени. Потому что задумка такова чтобы можно было пользоваться этой командой по времени к примеру убираем всех игроков с сервера и выключаем его следующим образом по примеру для 12 и 24 часов:
/say .kick_all_shutdown [10:00am][Shutdown]
или
/say .kick_all_shutdown [15:00][Shutdown]

Работа с командами через консоль:
/t.kick_all <0|1> - разрешить команду
/t.kick_all_ch_pass <0|1> - запретить, разрешить команду
/t.kick_all_shutdown <0|1> - запретить, разрешить команду
/t.restart_server <0|1> - запретить, разрешить команду
/t.restart_server_ch_pass <0|1> - запретить, разрешить команду
/t.shutdown_server <0|1> - запретить, разрешить команду
/c.save_password <0|1> - запретить, разрешить команду
/c.activ_pass <0|1> - запретить, разрешить команду
/c.dactiv_pass <0|1> - запретить, разрешить команду
/c.bot_activ <0|1> - запретить, разрешить команду

Прим. Возможность включать и выключать команды специально даны для того что бы не было конфликтов если кто-то смешает функции в конфиге. Ну и разумеется привидены команды для того что бы не возникло путаницы со стандартными командами такими как "kick all".
Прим. Команды /t.kick_all и /say .kick_all нужны для того чтобы случайно никто не завис на сервере во время его рестарта или выключении.

*Принцип работы с паролями:
Смена пароля должна происходить следующим образом:
1. В базу данных заносится лимитированное количество паролей
(с возможностью дальнейшего их редактирования).
2. Лимит паролей имеет число 3 (прим. утро, день, вечер)
3. При рестарте сервера или кике всех игроков применяется один из пронумерованных паролей.
4. При смене пароля отсылается информация администратору в виде:
Используется пароль #1
Прим. больше никакой информации не должно быть, т.к администратор сам знает какой именно пароль у него стоит под #1
5. Сохранение паролей в базе данных

Инструкция по работе с паролями:
- Чтобы использовать пароли, для начала занесем их в базу данных с помощью нужной нам команды.
/say .save_password [#1 bad1]
/say .save_password [#2 bad2]
/say .save_password [#3 bad3]
- Затем закроем сервер (установим пароль), таким образом в нашем случаи получается активация пароля #1
/say .activ_pass [#1]

Прим. Запомните главное активировать пароль #1 для того что бы запустить циклическую функцию. То есть теперь пароли будут менятся последовательно с номера #1 на номер #2 с номера #2 на номер #3, а с номера #3 обратно на номер #1. Но что бы пароль не смогли узнать остальные, то советую его чаще менять.
- Теперь чтобы пароли менялись при рестарте или кике, то достаточно сделать так:
/say .kick_all_ch_pass [Time][Reason][#1 to #2]
или
/say .restart_server_ch_pass [Time][#1 to #2]

Бот и его принцип работы:
Если получится сделать бота, то будет вообще потрясающе, а об информации по смене пароля он будет оповещать нас через e-mail или icq, ну это смотря как вы сделаете.


Что же я посторался максимально развернуто объяснить то что требуется от работы плагина, а так же по ходу объяснения предоставил вам идею. Ну а теперь ваш выход ребята, а я за вас буду "болеть".

Так же было бы неплохо оповещать о состоянии разработки.
Успехов вам в работе и что бы вам сопутствовала удача ;)