Friday, September 20, 2024 2:47:28 AM
> settings

Customize


Authenticate

> _server_settings.html.erb
<h2 class="uk-margin-remove-bottom uk-heading-bullet">Server Settings</h2>
<%= f.fields_for ServerSetting.new do |setting_f| %>
  <%# LOGGING %>
  <div class="uk-margin">
    <h3 class="uk-margin-remove-bottom">Logging</h3>
    <small>Log information from the following actions to the logging channel</small>
    <div class="uk-form-controls uk-margin-top">
      <label>
        <%= setting_f.check_box :logging_add_player_to_territory, class: "uk-checkbox", ":disabled": "processing", "v-model": "setting.logging_add_player_to_territory" %>
        Player added to territory <small>(<%= command_usage(:add, only: []) %>)</small>
      </label>
    </div>
    <div class="uk-form-controls">
      <label>
        <%= setting_f.check_box :logging_remove_player_from_territory, class: "uk-checkbox", ":disabled": "processing", "v-model": "setting.logging_remove_player_from_territory" %>
        Player removed from territory <small>(<%= command_usage(:remove, only: []) %>)</small>
      </label>
    </div>
    <div class="uk-form-controls">
      <label>
        <%= setting_f.check_box :logging_pay_territory, class: "uk-checkbox", ":disabled": "processing", "v-model": "setting.logging_pay_territory" %>
        Territory paid <small>(<%= command_usage(:pay, only: []) %>)</small>
      </label>
    </div>
    <div class="uk-form-controls">
      <label>
        <%= setting_f.check_box :logging_upgrade_territory, class: "uk-checkbox", ":disabled": "processing", "v-model": "setting.logging_upgrade_territory" %>
        Territory upgraded <small>(<%= command_usage(:upgrade, only: []) %>)</small>
      </label>
    </div>
    <div class="uk-form-controls">
      <label>
        <%= setting_f.check_box :logging_promote_player, class: "uk-checkbox", ":disabled": "processing", "v-model": "setting.logging_promote_player" %>
        Player promoted to moderator in territory <small>(<%= command_usage(:promote, only: []) %>)</small>
      </label>
    </div>
    <div class="uk-form-controls">
      <label>
        <%= setting_f.check_box :logging_demote_player, class: "uk-checkbox", ":disabled": "processing", "v-model": "setting.logging_demote_player" %>
        Player demoted to builder in territory <small>(<%= command_usage(:demote, only: []) %>)</small>
      </label>
    </div>
    <div class="uk-form-controls">
      <label>
        <%= setting_f.check_box :logging_modify_player, class: "uk-checkbox", ":disabled": "processing", "v-model": "setting.logging_modify_player" %>
        Player's attributes modified <small>(<%= command_usage(:player, only: []) %>)</small>
      </label>
    </div>
    <div class="uk-form-controls">
      <label>
        <%= setting_f.check_box :logging_gamble, class: "uk-checkbox", ":disabled": "processing", "v-model": "setting.logging_gamble" %>
        Player gambling poptabs <small>(<%= command_usage(:gamble, only: []) %>)</small>
      </label>
    </div>
    <div class="uk-form-controls">
      <label>
        <%= setting_f.check_box :logging_exec, class: "uk-checkbox", ":disabled": "processing", "v-model": "setting.logging_exec" %>
        SQF executed on server <small>(<%= command_usage(:sqf, only: []) %>)</small>
      </label>
    </div>
    <div class="uk-form-controls">
      <label>
        <%= setting_f.check_box :logging_reward_player, class: "uk-checkbox", ":disabled": "processing", "v-model": "setting.logging_reward_player" %>
        Player redeeming rewards <small>(<%= command_usage(:reward, only: []) %>)</small>
      </label>
    </div>
  </div>
  <%# TAXES %>
  <div class="uk-margin">
    <h3 class="uk-margin-remove-bottom">Taxes</h3>
    <small>A small fee for the greater good, taxes on making a payment through the bot</small>
    <div class="uk-form-controls">
      <div uk-grid>
        <div>
          <label class="uk-form-label">Territory Payment Tax (Percentage [0 - 100])</label>
          <div class="uk-form-controls">
            <%= setting_f.number_field :territory_payment_tax, class: "uk-input uk-form-width-small", placeholder: "0", min: "0", ":disabled": "processing", "v-model.number": "setting.territory_payment_tax" %>
          </div>
        </div>
        <div>
          <label class="uk-form-label">Territory Upgrade Tax (Percentage [0 - 100])</label>
          <div class="uk-form-controls">
            <%= setting_f.number_field :territory_upgrade_tax, class: "uk-input uk-form-width-small", placeholder: "0", min: "0", ":disabled": "processing", "v-model.number": "setting.territory_upgrade_tax" %>
          </div>
        </div>
      </div>
    </div>
  </div>
  <%# GAMBLING %>
  <div class="uk-margin">
    <h3 class="uk-margin-remove-bottom">Gambling</h3>
    <small>How often do the players win?</small>
    <div class="uk-form-controls">
      <label class="uk-form-label">Win chance (Percentage [0 - 100])</label>
      <div class="uk-form-controls">
        <%= setting_f.number_field :gambling_win_percentage, class: "uk-input uk-form-width-small", placeholder: "35", min: "0", ":disabled": "processing", "v-model.number": "setting.gambling_win_percentage" %>
      </div>
    </div>
  </div>
  <%# MAX PAYMENT COUNT %>
  <div class="uk-margin">
    <h3 class="uk-margin-remove-bottom">
      Max Payment Count
    </h3>
    <small>How many times can a player pay before they need to join the server? (0 to disable cooldown)</small>
    <div class="uk-form-controls">
      <label class="uk-form-label"># of Payments (Inclusive)</label>
      <div class="uk-form-controls">
        <%= setting_f.number_field :max_payment_count, class: "uk-input uk-form-width-small", placeholder: "0", min: "0", ":disabled": "processing", "v-model.number": "setting.max_payment_count" %>
      </div>
    </div>
  </div>
  <div class="uk-margin">
    <div class="uk-margin-bottom">
      <h3 class="uk-margin-remove-bottom">Visibility</h3>
      <small>
        Private servers will not be shown when someone joins your Discord, or when they execute the <%= command_usage(:servers, only: []) %>  command. All other commands will still work on them. Useful for development/test servers.
      </small>
    </div>
    <div class="uk-form-controls">
      <%= select_tag "server[server_visibility]",
        options_for_select(
          Server.server_visibilities.transform_keys(&:humanize),
          Server.server_visibilities[f.object&.server_visibility] || 1
        ),
        class: "uk-select uk-width-1-4"
      %>
    </div>
  </div>
  <hr :style="{ 'border-top': '1px solid #1E354D' }">
  <ul uk-accordion>
    <li>
      <a class="uk-accordion-title">Advanced Settings</a>
      <div class="uk-accordion-content">
        <%# GAMBLING (ADVANCED) %>
        <div class="uk-margin">
          <h3 class="uk-margin-remove-bottom">Gambling</h3>
          <small>
            How much money do the players win?
            <br>
            <%= link_to "Detailed Explanation", wiki_gambling_path %>
          </small>
          <div class="uk-form-controls">
            <div class="uk-margin-small-top uk-child-width-auto@m uk-child-width-1-2" uk-grid>
              <div>
                <label class="uk-form-label">Payout Percentage [0 - 100]</label>
                <div class="uk-form-controls">
                  <%= setting_f.number_field :gambling_payout_base, class: "uk-input uk-form-width-small", placeholder: "95", min: "0", ":disabled": "processing", "v-model.number": "setting.gambling_payout_base" %>
                </div>
              </div>
              <div>
                <label class="uk-form-label">Payout Modifier [Recommended: &gt;= 1]</label>
                <div class="uk-form-controls">
                  <%= setting_f.number_field :gambling_modifier, class: "uk-input uk-form-width-small", placeholder: "1", min: "0", ":disabled": "processing", "v-model.number": "setting.gambling_modifier" %>
                </div>
              </div>
            </div>
            <div class="uk-margin-small-top uk-child-width-auto@m uk-child-width-1-2" uk-grid>
              <div>
                <label class="uk-form-label">Payout Randomizer Min</label>
                <div class="uk-form-controls">
                  <%= setting_f.number_field :gambling_payout_randomizer_min, class: "uk-input uk-form-width-small", placeholder: "0", min: "0", step: :any, ":disabled": "processing", "v-model.number": "setting.gambling_payout_randomizer_min" %>
                </div>
              </div>
              <div>
                <label class="uk-form-label">Payout Randomizer Mid</label>
                <div class="uk-form-controls">
                  <%= setting_f.number_field :gambling_payout_randomizer_mid, class: "uk-input uk-form-width-small", placeholder: "0.5", min: "0", step: :any, ":disabled": "processing", "v-model.number": "setting.gambling_payout_randomizer_mid" %>
                </div>
              </div>
              <div>
                <label class="uk-form-label">Payout Randomizer Max</label>
                <div class="uk-form-controls">
                  <%= setting_f.number_field :gambling_payout_randomizer_max, class: "uk-input uk-form-width-small", placeholder: "1", min: "0", step: :any, ":disabled": "processing", "v-model.number": "setting.gambling_payout_randomizer_max" %>
                </div>
              </div>
            </div>
          </div>
        </div>
        <%# EXTDB PATH %>
        <div class="uk-margin">
          <h3 class="uk-margin-remove-bottom">Custom extDB Path</h3>
          <small>
            The directory path to your extDB ini. Only set this if you have a different path than the default installation for extDB3.
            <br>
            Do not end with a slash and use a fully qualified pathname. IE: <code>D:\Arma3Servers\@ExileServer</code>
          </small>
          <div class="uk-form-controls">
            <%= setting_f.text_field :extdb_path, class: "uk-input", placeholder: "Leave blank for Default", "v-model": "setting.extdb_path" %>
          </div>
        </div>
        <%# LOGGING (ADVANCED) %>
        <div class="uk-margin">
          <h3 class="uk-margin-remove-bottom">Custom Logging Path</h3>
          <small>
            The directory path where you want the DLL to log to.
            <br>
            Do not end with a slash and use a fully qualified pathname. IE: <code>D:\Arma3Servers\@ExileServer</code>
          </small>
          <div class="uk-form-controls">
            <%= setting_f.text_field :logging_path, class: "uk-input", placeholder: "Leave blank for Default", "v-model": "setting.logging_path" %>
          </div>
        </div>
        <%# THREADS %>
        <div class="uk-margin">
          <h3 class="uk-margin-remove-bottom">Request Thread</h3>
          <small>
            <strong>[Recommended]</strong> Using an Exile thread will generally provide better FPS
            <br>
            Using an SQF thread will provide the most reliable execution, at the cost of FPS. Use this option if you notice ESM is taking a bit of time to process requests on your server
          </small>
          <div class="uk-form-controls">
            <%= setting_f.select :request_thread_type, options_for_thread_type, {}, class: "uk-select uk-width-medium", "v-model": "setting.request_thread_type" %>
          </div>
        </div>
        <%# TICKS %>
        <div class="uk-margin">
          <h3 class="uk-margin-remove-bottom">Request Ticks (in seconds)</h3>
          <small>
            How often should ESM check for requests to process
            <br>
            The smaller the number, the faster requests will be processed. The bigger the number, less checks, the slower the requests will be processed
          </small>
          <div class="uk-form-controls">
            <%= setting_f.number_field :request_thread_tick, class: "uk-input uk-form-width-small", placeholder: "0.1", min: "0", step: :any, ":disabled": "processing", "v-model.number": "setting.request_thread_tick" %>
          </div>
        </div>
      </div>
    </li>
  </ul>
<% end %>
<hr class="uk-hidden@m" :style="{ 'border-top': '1px solid #1E354D' }">
All opinions represented herein are my own
- © 2024 itsthedevman
- build 340fbb8