Jump to content

7 Screenshots

  • 21.6k
  • 130
  • 67.59 kB

Works with

About Rules

Useful Rules Agreement Plugin. Allowing you to prevent players who do not agree with your rules from playing on the server.

 

Ji0XU4D.png

  • The ability to disable the use of the mouse, keyboard, commands, chat and voice chat until the player accepts your rules;
  • The ability to request consent to the rules every time a player connect, or when the administrator uses a special command;
  • The ability to request consent to the rules only once and only when the rules have been changed(date in the config file);
  • The ability to limit the time given to make a decision, after which the player will be kicked or banned;
  • The ability to set the number of rejections(in a row) after which the player will be banned;
  • The ability to set an effect when opening the rules;
  • The ability to set an effect when agreeing to the rules;
  • The ability to enable or disable the agreement request for the rules;
  • The ability to request agreement to the rules again using a command;
  • The ability to customize the UI as desired(*SERVER*\oxide\data\RulesUi\). Several naming rules for elements must be followed, as explained below in the UI section;
  • The ability to create as many pages of rules as desired(in the config file);
  • It is not possible to agree to the rules until the player has read all the pages;
  • The presence of 4 hooks for developers, 2 of which can be overridden.

 

 

n8420aH.png

  • rules.ignore - Provides the ability to ignore rules agreements.
  • rules.admin - Provides the ability to use enable/disable and reask commands.

 

MOEpxmo.png

{
  "Chat command": "rules",
  "Is it worth enabling GameTips for messages?": true,
  "Is it worth enabling a requirement for agreement with the rules? If disabled, the rules will not be displayed": true,
  "Date of the last rules update. Format: yyyy-MM-dd HH:mm": "2024-12-05 22:13",
  "Is it worth asking for agreement with the rules every time? If disabled, consent will only be requested again if the rules have been updated": false,
  "Is it worth preventing a player from using chat until they agree to the rules?": true,
  "Is it worth preventing a player from using commands until they agree to the rules?": true,
  "Is it worth preventing a player from using voice chat until they agree to the rules?": true,
  "Time in seconds(0-600) given to the player to respond, after which they will be kicked/banned from the server. A value of 0 disables the time limit": 0.0,
  "Number of rejections(in a row) of the rules after which the player will be banned. A value of 0 disables the ban": 5,
  "Number of rules pages. Will automatically add additional language keys if they are missing": 4,
  "Additional languages for key generation(except en and ru)": [
    ""
  ],
  "Prefab name for the effect when requesting agreement with the rules. Leave empty to disable": "assets/bundled/prefabs/fx/invite_notice.prefab",
  "Prefab name for the effect upon agreement with the rules. Leave empty to disable": "assets/prefabs/misc/xmas/advent_calendar/effects/open_advent.prefab",
  "Width of the container for the rules text, needed for scroll view calculation": 600.0,
  "Height of the container for the rules text, needed for scroll view calculation": 375.0,
  "Version": {
    "Major": 0,
    "Minor": 1,
    "Patch": 5
  }
}

 

DxI83SK.png

EN:
{
  "RulesNotFound": "Argument {0} not found!",
  "RulesAcceptNotRead": "You haven't read all the pages!",
  "RulesAccepted": "Thank you for accepting our terms! Enjoy the game!",
  "RulesPlayerNotFound": "Player not found!",
  "RulesPlayerShow": "Player {0} has been requested to agree to the rules!",
  "RulesEnabled": "The requirement to agree with the rules is enabled!",
  "RulesDisabled": "The requirement to agree with the rules is disabled!",
  "RulesAlreadyEnabled": "The requirement to agree with the rules is already enabled!",
  "RulesAlreadyDisabled": "The requirement to agree with the rules is already disabled!",
  "RulesOnce": "A one-time request for agreement with the rules is enabled!",
  "RulesEveryTime": "A one-time request for agreement with the rules is disabled!",
  "RulesReAsk": "All players have been sent a request for agreement with the rules, depending on the settings.",
  "KickReason": "You have been kicked because you declined our rules!",
  "BanReason": "You have been banned because you declined our rules {0} times in a row!",
  "PanelTitle": "Terms Of Service",
  "PanelLastUpdate": "Last updated on <color=brown>{0} {1}, {2}</color>",
  "BtnAccept": "Accept",
  "BtnDecline": "Decline",
  "BtnNextPage": ">",
  "BtnPreviousPage": "<",
  "January": "January",
  "February": "February",
  "March": "March",
  "April": "April",
  "May": "May",
  "June": "June",
  "July": "July",
  "August": "August",
  "September": "September",
  "October": "October",
  "November": "November",
  "December": "December",
  "Rules_1": "<b>1. Information</b>\n\n<b>1.1</b> - Lack of knowledge of the rules does not exempt you from responsibility.\n<b>1.2</b> - By playing on the server, you automatically agree to all the rules listed below.\n<b>1.3</b> - If you have already been caught using cheats/macros or exploiting on another server/project, and there is proof against you, we reserve the right to ban you without further investigation.\n<b>1.4</b> - The administration determines the punishment for a player based on the severity of the violation and the circumstances. Violators may receive a warning or a permanent ban (there is no temporary bans). Bans apply to all servers within the project.\n<b>1.5</b> - The administration does not compensate for in-game items lost due to your errors, technical server/hosting issues, game bugs, or contact with rule violators.\n<b>1.6</b> - The administration does not interfere in player-to-player relationships. You are solely responsible for the people you choose to play with, so if a player deceives you, there will be no punishments for them from us.\n<b>1.7</b> - You are responsible for all your accounts. If one account is banned, the ban applies to all your accounts. The same applies if one of your accounts has a game ban (EAC).\n<b>1.8</b> - Impersonating a member of the server's administration is prohibited.",
  "Rules_2": "<b>2. Gameplay</b>\n\n<b>2.1</b> - It is prohibited to use/store/purchase/distribute third-party software or any other means that provide an advantage over other players.\n<b>2.2</b> - Using cheat services is forbidden.\n<b>2.3</b> - Exploiting game bugs is not allowed.\n<b>2.4</b> - Exceeding the player limit in a team is prohibited:\n<b>+</b> Alliances or truces with other players are not allowed if the total number of players involved exceeds the server's limitations;\n<b>+</b> Frequent changes of allies will be considered a rule violation, as will playing with another player while your teammate is AFK or not nearby;\n<b>+</b> Changing teammates temporarily is not allowed if the replaced teammate intends to continue playing with you;\n<b>+</b> Changing a partner is allowed if your previous partner will not be in contact with you in the future.",
  "Rules_3": "<b>3. In-Game Chat/Voice Chat</b>\n\n<b>3.1</b> - Discussion of politics, religion, immoral, and other inappropriate topics is prohibited.\n<b>3.2</b> - Inciting national, racial, or religious hatred or insulting other players and individuals is forbidden.\n<b>3.3</b> - Posting links to third-party services and websites in the chat is not allowed.\n<b>3.4</b> - Spamming (repeatedly posting meaningless phrases or characters) or sending identical messages in a short period of time is prohibited.\n<b>3.5</b> - Selling or pretending to sell cheats/macros is not allowed.\n<b>3.6</b> - Proposing actions that lead to an unwanted server exit is prohibited. Such actions include, for example, pressing <b>alt+f4</b>, typing <b>disconnect</b> in the console, and similar actions whose meanings other players may not be aware of.\n<b>3.7</b> - The administration reserves the right to mute or block a player in the chat if they behave inappropriately or disrespectfully towards other players.\n<b>3.8</b> - Selling/buying in-game items for real currency, crypto or skins is prohibited.",
  "Rules_4": "<b>4. In-Game Check</b>\n\n<b>4.1</b> - In-Game checks are conducted exclusively through the <b>Discord</b> program. Every player on our project must have the ability to access it for the purpose of undergoing in-game checks.\n<b>4.2</b> - Calls for in-game checks are made only through in-game notifications and never through voice or text chat.\n<b>4.3</b> - If a player leaves the server, ignores a in-game check, or refuses to participate in it, they will immediately receive a ban.\n<b>4.4</b> - Clearing your PC before a in-game check is prohibited.\n<b>4.5</b> - Refusal to provide the necessary information for the in-game check or inappropriate behavior will result in a ban.\n<b>4.6</b> - If a player is banned as a result of a in-game check (including bans for refusal, ignoring, leaving the server, and providing incorrect contact information), their entire team will also be banned.\n\n<b>+</b> You have the full right to refuse to undergo a in-game check, but in this case, you and your allies will be banned.\n<b>+</b> Leaving the server, providing incorrect contact information, and ignoring the in-game check will also be considered a refusal.\n<b>+</b> If you agree to undergo the in-game check, you automatically allow the administration to install third-party programs necessary for checking your PC(e.g., AnyDesk, RCC, etc.).\n\n<b>Appeal Process</b>\nOne month after the ban, you have the ability to submit an appeal, but only if the ban was not for cheats or macros.\nAppeals can be submitted on our website."
}
RU:
{
  "RulesNotFound": "Аргумент {0} не найден!",
  "RulesAcceptNotRead": "Вы не прочли все страницы!",
  "RulesAccepted": "Спасибо, что приняли наши условия! Приятной вам игры!",
  "RulesPlayerNotFound": "Игрок не найден!",
  "RulesPlayerShow": "У игрока {0} было запрошено согласие с правилами!",
  "RulesEnabled": "Требование согласия с правилами включено!",
  "RulesDisabled": "Требование согласия с правилами выключено!",
  "RulesAlreadyEnabled": "Требование согласия с правилами уже включено!",
  "RulesAlreadyDisabled": "Требование согласия с правилами уже выключено!",
  "RulesOnce": "Однократный запрос на согласие с правилами включен!",
  "RulesEveryTime": "Однократный запрос на согласие с правилами выключен!",
  "RulesReAsk": "Всем игрокам в зависимости от настроек был отправлен запрос на соглашение с правилами.",
  "KickReason": "Вы были исключены, так как вы отклонили наши правила!",
  "BanReason": "Вы были заблокированы, так как вы в {0} раз подряд отклонили наши правила!",
  "PanelTitle": "Условия использования",
  "PanelLastUpdate": "Последнее обновление <color=brown>{1} {0} {2} года</color>",
  "BtnAccept": "Принимаю",
  "BtnDecline": "Отказываюсь",
  "BtnNextPage": ">",
  "BtnPreviousPage": "<",
  "January": "Января",
  "February": "Февраля",
  "March": "Марта",
  "April": "Апреля",
  "May": "Мая",
  "June": "Июня",
  "July": "Июля",
  "August": "Августа",
  "September": "Сентября",
  "October": "Октября",
  "November": "Ноября",
  "December": "Декабря",
  "Rules_1": "<b>1. Информация</b>\n\n<b>1.1</b> - Не знание правил не освобождает Вас от ответственности.\n<b>1.2</b> - Играя на сервере Вы автоматически соглашаетесь со всеми нижеперечисленными пунктами правил.\n<b>1.3</b> - Если Вы уже были замечены с читами/макросами или использованием просвета на другом сервере/проекте и на вас есть пруфы - мы имеем право забанить Вас без проверки.\n<b>1.4</b> - Администрация сама выбирает наказание для игрока в зависимости от степени нарушения и обстоятельств. Нарушитель может получить как предупреждение, так и перманентный бан(временных блокировок нет). Блокировка выдаётся на всех серверах проекта.\n<b>1.5</b> - Администрация не компенсирует игровые ценности, утраченные по причине вашей ошибки, технических проблем на сервере/хостинге, багов игры или контакта с нарушителями.\n<b>1.6</b> - Администрация не вмешивается во взаимоотношения игроков, за тех с кем вы играете ответственны только Вы, поэтому в случае если игрок вас обманет — ему ничего за это не будет.\n<b>1.7</b> - Вы несете ответственность за все свои аккаунты. Получив бан на одном аккаунте - Вы получите его и на остальных аккаунтах. То же самое будет если на одном из ваших аккаунтах имеется игровая блокировка(EAC).\n<b>1.8</b> - Запрещено выдавать себя за члена Администрации сервера.",
  "Rules_2": "<b>2. Геймплей</b>\n\n<b>2.1</b> - Запрещено использовать/хранить/приобретать/распространять стороннее ПО или любые другие средства, позволяющие получить преимущество над другими игроками.\n<b>2.2</b> - Запрещено использование услуг читеров.\n<b>2.3</b> - Запрещено использование багов.\n<b>2.4</b> - Запрещено превышать лимит игроков в команде:\n<b>+</b> Нельзя устраивать альянсы или перемирия с другими игроками если в сумме вас больше, чем указано в ограничениях сервера;\n<b>+</b> Частая смена союзников будет считаться за нарушение правил, тоже самое касается и игру с другим игроком пока тиммейт стоит афк или не находится рядом;\n<b>+</b> Запрещена смена союзников на время, если заменяемый союзник продолжит с вами играть;\n<b>+</b> Разрешено сменить напарника, если ваш предыдущий напарник в дальнейшем не будет с вами контактировать.",
  "Rules_3": "<b>3. Игровой Чат/Голосовой чат</b>\n\n<b>3.1</b> - Запрещено обсуждение политики, религии, аморальных и прочих неуместных тем.\n<b>3.2</b> - Запрещено разжигание национальной, расовой или религиозной ненависти или оскорбления других игроков и других людей.\n<b>3.3</b> - Запрещены ссылки в чате на сторонние сервисы и сайты.\n<b>3.4</b> - Запрещен флуд(многократное повторение бессмысленных фраз, символов) или многократное отправление одинаковых фраз за короткий промежуток времени.\n<b>3.5</b> - Запрещено продавать или делать вид что вы продаёте читы/макросы.\n<b>3.6</b> - Запрещено предлагать сделать действия, приводящие к нежеланному выходу с сервера. К таким действиям относится например нажатие <b>alt+f4</b>, прописывание <b>disconnect</b> в консоль и прочие подобные действия, о значении которых другие игроки могут не знать.\n<b>3.7</b> - Администрация оставляет за собой право выдать мут или заблокировать игрока в чате если тот ведёт себя неадекватно или некорректно по отношению к другим игрокам.\n<b>3.8</b> - Запрещена продажа/покупка игровых ценностей за реальную валюту, крипту или скины.",
  "Rules_4": "<b>4. Игровая проверка</b>\n\n<b>4.1</b> - Проверки проходят только через программу <b>Discord</b>. Каждый игрок на нашем проекте, в обязательном порядке должен иметь возможность зайти в нее для прохождения проверки.\n<b>4.2</b> - Вызов на проверку осуществляется только через игровое оповещение и ни в коем случае не через голосовой или текстовый чат.\n<b>4.3</b> - Если игрок покинул сервер, проигнорировал проверку или отказался от неё, то он сразу получает блокировку.\n<b>4.4</b> - Запрещено чистить ПК перед проверкой.\n<b>4.5</b> - За отказ показывать нужную для проверки информацию или неадекватное поведение — вы будете заблокированы.\n<b>4.6</b> - Если по итогу(итогом считается и блокировка за отказ / игнор / выход из сервера и предоставление некорректных данных для связи) проверки игрок блокируется, то и вся его команда блокируется вместе с ним.\n\n<b>+</b> Вы имеете полное право отказаться проходить проверку, но в этом случае Вы и ваши союзники будут заблокированы.\n<b>+</b> Так же отказом от проверки будет считаться выход с сервера, предоставление некорректных контактных данных и игнорирование проверки.\n<b>+</b> Если Вы согласны пройти проверку - то автоматически разрешаете устанавливать сторонние программы нужные администрации для проверки вашего PC(AnyDesk, RCC и т.д).\n\n<b>Возможность разблокировки</b>\nЧерез месяц после блокировки можно подать апелляцию, но, только в случае если бан был получен не за читы или макросы.\nАпелляцию можно подать на нашем сайте."
}

 

OxWiTBA.png

  • show - Opens the rules panel.
    • *userNameOrId* - request for agreement with the rules from the specified player. Permission "rules.admin" required.
  • enable - Enabling Rules agreements. Permission "rules.admin" required.
  • disable - Disabling Rules agreements. Permission "rules.admin" required.
  • once - Enabling/disabling one-time agreement request for the Rules. Permission "rules.admin" required.
  • reask - Reasking all players for the Rules agreement. Permission "rules.admin" required.

 

Example:

  • /rules show
  • /rules show *userNameOrId*
  • /rules enable

 

ykCBZDt.png

You can customize the UI as you like(*SERVER*\oxide\data\RulesUi\).
However, the following containers must always be present and their names must remain unchanged(you can change the parent, position, layout of the elements, etc.), as they are referenced by name:

  • The name of the main container is "RulesUi";

  • The name of the container for title texts(header and update date) is "RulesUi_Panel_Title_Text";

  • The name of the container for the "Next Page" button is "RulesUi_Panel_Title_Pagination_Next";

  • The name of the container for the "Previous Page" button is "RulesUi_Panel_Title_Pagination_Previous";

  • The name of the container for the rules text is "RulesUi_Panel_Content";

  • The name of the container for the progress indicator is "RulesUi_Panel_Content_Progress";

  • The name of the container for the "Decline" button is "RulesUi_Panel_Footer_Decline";

  • The name of the container for the "Accept" button is "RulesUi_Panel_Footer_Accept".

 

l9x1AEn.png

  1. RulesEnabled:
    • Called after the rules are enabled or the plugin is loaded with enabled config.
  2. RulesDisabled:
    • Called after the rules are disabled or the plugin is unloaded.
  3. RulesAccepted:
    • Called after the player has accepted the rules;
    • Returning a non-null value overrides default behavior.
  4. RulesDeclined:
    • Called before kicking or banning a player;
    • Returning a non-null value overrides default behavior.

 

void RulesEnabled()
{
  Puts("The rules were enabled!");
}

void RulesDisabled()
{
  Puts("The rules were disabled!");
}

object RulesAccepted(IPlayer player)
{
  Puts($"Player {player.Name} has accepted the rules!");
  return null;
}

object RulesDeclined(IPlayer player, int declines, int ban_attemps)
{
  Puts($"Player {player.Name} has declined the rules! This is the {declines} declines out of {ban_attemps}!");
  return null;
}

 


User Feedback

1.5m

Downloads

Total number of downloads.

7k

Customers

Total customers served.

105.2k

Files Sold

Total number of files sold.

2.1m

Payments Processed

Total payments processed.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.