1 плагин или несколько?

Статус
В этой теме нельзя размещать новые ответы.

gameuser425

Участник
Сообщения
30
Реакции
3
Операционная система
Linux
Здравствуйте.
Что если писать основу сервера в одном плагине? Смотрю все делают сборки из кучи разных плагинов, думаю это только из-за того что некоторые владельцы серверов не знающие языка устанавливают скаченные плагины и потом борются с багами, настраивают эти плагины.
Какие минусы того что я буду писать сервер в одном плагине? Повлияет ли это на нагрузку сервера? - Я думаю на нагрузку сервера не должно влиять. Ведь даже если взять ядра плагинов, когда плагин может взаимодействовать с другим. Типа VIP модуль к которому можно добавлять кучу других VIP привилегий. Лишнюю память кушает как раз это взаимодействие, когда в одном скрипте можно ограничиться условием.
Я хотел бы писать свой мод в одном скрипте, но боюсь возможно чего-то я не учёл или не знаю. Настройки из конфигов мне не нужны ибо пока я пишу скрипт уже настрою так как мне нужно и смогу отредактировать плагин когда захочу внести изменения.

Как лучше и почему???
 

Kruzya

Участник
Сообщения
12,974
Реакции
10,940
  • Команда форума
  • #2
Вы когда-нибудь работали разработчиком?

Намешав все в один плагин, рано или поздно Вам самому станет сложно это поддерживать
 

September

Участник
Сообщения
5,238
Реакции
2,742
  • Команда форума
  • #3
Я уж молчу про момент, когда появятся краши, которые будут сложно объяснимы)))
Что делать будешь?
 

gameuser425

Участник
Сообщения
30
Реакции
3
Вы когда-нибудь работали разработчиком?

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

Писать плагин с чистого листа, самостоятельно, но вся основа сервера в одном плагине. Исключено только - античит и подобные большие системы.
А такие как музыка в конце раунда, звуки таймера бомбы, оповещение о том что бомбу обезвреживают, некоторые плюшки типа бонуса за убийства - в планах связать бонусы за убийства с системой рангов, настройки и сохранение настроек, много чего ещё)).

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

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

Плагины по отдельности написал, оптимизировал. Возникло желание пильнуть всё в один. Пильнул, работает без багов... Не знаю правильно ли и нужно ли.

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

Я уж молчу про момент, когда появятся краши, которые будут сложно объяснимы)))
Что делать будешь?
Не знаю, мне кажется что если основа будет в одном плагине, то уж точно будет понятно где и с какой системой что-то не так. Ведь если пишешь всё сам, знаешь каждую запятую в коде, и когда плагины не по раздельности, то в случае появления бага мгновенно понимаешь от куда баг, и как его исправить.

Я уж молчу про момент, когда появятся краши, которые будут сложно объяснимы)))
Что делать будешь?
Да, бывает когда непонятно откуда появляется ошибка, чаще всего из-за того что плагины конфликтуют друг с другом. По этому не скачиваю плагины с нета, а пишу самостоятельно...
 

Nekro

Терра инкогнита
Сообщения
4,182
Реакции
2,513
Да, бывает когда непонятно откуда появляется ошибка, чаще всего из-за того что плагины конфликтуют друг с другом. По этому не скачиваю плагины с нета, а пишу самостоятельно...
Что-то не припомню особо случаев конфликтов плагинов. Редкость ещё та..
 

Kruzya

Участник
Сообщения
12,974
Реакции
10,940
  • Команда форума
  • #6
Намешивать, это подразумевается копировать исходники чужих плагинов в один?
Нет, это когда у тебя вместо пачки мелких плагинов, и каждый выполняет конкретно одну задачу, - один большой.

Всё настраивается прям в плагине и при возможности просто исправить, скомпилировать, перезалить и перезагрузить.
Вы вообще ничего в настройки не выносите? Не смешно будет постоянно пересобирать один плагин и перезагружать его, сбрасывая всё содержимое памяти (контекст исполнения) в никуда, и всё ради правки, к примеру, частоты срабатывания таймера или ещё чего-нибудь.

Плагин без лишних настроек и работ с файлами кушает меньше ресурсов.
Вы сейчас на чём пытаетесь сэкономить? Я не пойму пока.
У Вас Source - 32-битный процесс, он больше 4гб никак физически захапать себе не сможет, а память в наше время - дешёвый ресурс. Как оперативная, так и постоянная.

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

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

White Wolf

🍉
Сообщения
2,383
Реакции
2,190
  • Команда форума
  • #7
Намешивать, это подразумевается копировать исходники чужих плагинов в один?
Если речь об этом то нет.
Писать плагин с чистого листа, самостоятельно, но вся основа сервера в одном плагине.
такие как музыка в конце раунда, звуки таймера бомбы, оповещение о том что бомбу обезвреживают, некоторые плюшки типа бонуса за убийства - в планах связать бонусы за убийства с системой рангов, настройки и сохранение настроек, много чего ещё
Если вы один этим занимаетесь, то может вам так и будет удобнее, но при поиске проблем, отвечать за их поиск придется только вам одному. Попробуйте ещё заставить кого-то смотреть 1 км кода в поисках той проблемы.
 

J.O.K.E.R

INF
Сообщения
382
Реакции
76
Здравствуйте.
Что если писать основу сервера в одном плагине? Смотрю все делают сборки из кучи разных плагинов, думаю это только из-за того что некоторые владельцы серверов не знающие языка устанавливают скаченные плагины и потом борются с багами, настраивают эти плагины.
Какие минусы того что я буду писать сервер в одном плагине? Повлияет ли это на нагрузку сервера? - Я думаю на нагрузку сервера не должно влиять. Ведь даже если взять ядра плагинов, когда плагин может взаимодействовать с другим. Типа VIP модуль к которому можно добавлять кучу других VIP привилегий. Лишнюю память кушает как раз это взаимодействие, когда в одном скрипте можно ограничиться условием.
Я хотел бы писать свой мод в одном скрипте, но боюсь возможно чего-то я не учёл или не знаю. Настройки из конфигов мне не нужны ибо пока я пишу скрипт уже настрою так как мне нужно и смогу отредактировать плагин когда захочу внести изменения.

Как лучше и почему???
Бред полный. В других играх не знаю как там, но в кс го после обновы часто приходится плагины обновлять. Некоторые плагины крашит сервер. И как ты будешь искать какой именно крашит сервер. И как вверху вам сказали, кто вам потом будет помогать в этом.
 

gameuser425

Участник
Сообщения
30
Реакции
3
@Kruzya, Спасибо что уделил столько времени и сил что-бы написать такой громадный текст) Наверное правы критики. Я ещё вчера вернул все плагины по местам как были. Багов и крашей не было, но чем чёрт не шутит. Стабильно работало, пусть работает дальше.

Когда создаёшь два плагина которые будут взаимодействовать друг с другом, то иной раз приходится и в том и в другом плагине создавать одинаковые массивы, функции. Лишние ресурсы.
Скачал я как то самый ходовой плагин... Не помню уже название. Просмотрел код...
Автор к переменной присваивал значение создав лишний паблик. Типа...

Ааа Вот нашёл. "advancedc4timer1.4.1"

Автор присваивает значение...
g_c4Preferences[param1][SOUND] = Flip(g_c4Preferences[param1][SOUND]);

C++:
// Switches a non-zero number to a 0 and a 0 to a 1
public Flip(flipNum)
{
    if(flipNum == 0)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

Я бы сделал так.

g_c4Preferences[param1][SOUND] = g_c4Preferences[param1][SOUND] == 0 ? 1 : 0;

Зачем лишняя переменная, сам паблик, условие и возврат значения? И этим плагином же многие пользуются)))
Я не говорю что он плохой... Ну просто мне не нравится такой код, и такой код встречается много где.

new String:name[256]; //Для ника самое то...

По этому лучше сам. Вот и интересуюсь у бывалых что и как по движку и сурсмоду)

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