mirror of
https://github.com/Dahlgren/arma-server-web-admin.git
synced 2024-08-30 17:22:10 +00:00
Add support for additional configuration options
Options can be defined globally in config.js or per server in web ui
This commit is contained in:
parent
56d12d5fb3
commit
2e3f5eff79
@ -45,6 +45,7 @@ path | Folder path to game server
|
|||||||
port | Web port to use
|
port | Web port to use
|
||||||
host | IP or Hostname to listen on
|
host | IP or Hostname to listen on
|
||||||
type | Which kind of server to use, can be 'linux', 'windows' or 'wine'
|
type | Which kind of server to use, can be 'linux', 'windows' or 'wine'
|
||||||
|
additionalConfigurationOptions | Additional configuration options appended to server.cfg file
|
||||||
parameters | Extra startup parameters added to servers and headless clients
|
parameters | Extra startup parameters added to servers and headless clients
|
||||||
serverMods | Mods that always and only will be used by the game servers
|
serverMods | Mods that always and only will be used by the game servers
|
||||||
auth | If both username and password is set, HTTP Basic Auth will be used
|
auth | If both username and password is set, HTTP Basic Auth will be used
|
||||||
|
@ -4,6 +4,7 @@ module.exports = {
|
|||||||
port: 3000,
|
port: 3000,
|
||||||
host: '0.0.0.0', // Can be either an IP or a Hostname
|
host: '0.0.0.0', // Can be either an IP or a Hostname
|
||||||
type: 'linux', // Can be either linux, windows or wine
|
type: 'linux', // Can be either linux, windows or wine
|
||||||
|
additionalConfigurationOptions: '', // Additional configuration options appended to server.cfg file
|
||||||
parameters: [ // Additional startup parameters used by all servers
|
parameters: [ // Additional startup parameters used by all servers
|
||||||
'-noSound',
|
'-noSound',
|
||||||
'-world=empty'
|
'-world=empty'
|
||||||
|
@ -101,6 +101,7 @@ Manager.prototype.save = function () {
|
|||||||
this.serversHash = {}
|
this.serversHash = {}
|
||||||
this.serversArr.forEach(function (server) {
|
this.serversArr.forEach(function (server) {
|
||||||
data.push({
|
data.push({
|
||||||
|
additionalConfigurationOptions: server.additionalConfigurationOptions,
|
||||||
admin_password: server.admin_password,
|
admin_password: server.admin_password,
|
||||||
allowed_file_patching: server.allowed_file_patching,
|
allowed_file_patching: server.allowed_file_patching,
|
||||||
auto_start: server.auto_start,
|
auto_start: server.auto_start,
|
||||||
|
@ -45,6 +45,7 @@ Server.prototype.generateId = function () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Server.prototype.update = function (options) {
|
Server.prototype.update = function (options) {
|
||||||
|
this.additionalConfigurationOptions = options.additionalConfigurationOptions
|
||||||
this.admin_password = options.admin_password
|
this.admin_password = options.admin_password
|
||||||
this.allowed_file_patching = options.allowed_file_patching
|
this.allowed_file_patching = options.allowed_file_patching
|
||||||
this.auto_start = options.auto_start
|
this.auto_start = options.auto_start
|
||||||
@ -110,6 +111,24 @@ Server.prototype.getParameters = function () {
|
|||||||
return parameters
|
return parameters
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Server.prototype.getAdditionalConfigurationOptions = function () {
|
||||||
|
var additionalConfigurationOptions = ''
|
||||||
|
|
||||||
|
if (config.additionalConfigurationOptions) {
|
||||||
|
additionalConfigurationOptions += config.additionalConfigurationOptions
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.additionalConfigurationOptions) {
|
||||||
|
if (additionalConfigurationOptions) {
|
||||||
|
additionalConfigurationOptions += '\n'
|
||||||
|
}
|
||||||
|
|
||||||
|
additionalConfigurationOptions += this.additionalConfigurationOptions
|
||||||
|
}
|
||||||
|
|
||||||
|
return additionalConfigurationOptions
|
||||||
|
}
|
||||||
|
|
||||||
Server.prototype.start = function () {
|
Server.prototype.start = function () {
|
||||||
if (this.instance) {
|
if (this.instance) {
|
||||||
return this
|
return this
|
||||||
@ -117,6 +136,7 @@ Server.prototype.start = function () {
|
|||||||
|
|
||||||
var parameters = this.getParameters()
|
var parameters = this.getParameters()
|
||||||
var server = new ArmaServer.Server({
|
var server = new ArmaServer.Server({
|
||||||
|
additionalConfigurationOptions: this.getAdditionalConfigurationOptions(),
|
||||||
admins: config.admins,
|
admins: config.admins,
|
||||||
allowedFilePatching: this.allowed_file_patching || 1,
|
allowedFilePatching: this.allowed_file_patching || 1,
|
||||||
battleEye: this.battle_eye ? 1 : 0,
|
battleEye: this.battle_eye ? 1 : 0,
|
||||||
@ -280,6 +300,7 @@ Server.prototype.stopHeadlessClients = function () {
|
|||||||
|
|
||||||
Server.prototype.toJSON = function () {
|
Server.prototype.toJSON = function () {
|
||||||
return {
|
return {
|
||||||
|
additionalConfigurationOptions: this.additionalConfigurationOptions,
|
||||||
admin_password: this.admin_password,
|
admin_password: this.admin_password,
|
||||||
allowed_file_patching: this.allowed_file_patching,
|
allowed_file_patching: this.allowed_file_patching,
|
||||||
auto_start: this.auto_start,
|
auto_start: this.auto_start,
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"arma-server": "0.0.6",
|
"arma-server": "0.0.7",
|
||||||
"async": "^0.9.0",
|
"async": "^0.9.0",
|
||||||
"backbone": "1.3.3",
|
"backbone": "1.3.3",
|
||||||
"backbone.bootstrap-modal": "https://github.com/powmedia/backbone.bootstrap-modal/archive/632210077c2424be2ee6ea2aafe0d3fe016ae524.tar.gz",
|
"backbone.bootstrap-modal": "https://github.com/powmedia/backbone.bootstrap-modal/archive/632210077c2424be2ee6ea2aafe0d3fe016ae524.tar.gz",
|
||||||
|
@ -8,6 +8,7 @@ define(function (require) {
|
|||||||
|
|
||||||
return Backbone.Model.extend({
|
return Backbone.Model.extend({
|
||||||
defaults: {
|
defaults: {
|
||||||
|
additionalConfigurationOptions: '',
|
||||||
admin_password: '',
|
admin_password: '',
|
||||||
allowed_file_patching: 1,
|
allowed_file_patching: 1,
|
||||||
auto_start: false,
|
auto_start: false,
|
||||||
|
@ -18,6 +18,7 @@ define(function (require) {
|
|||||||
|
|
||||||
serialize : function() {
|
serialize : function() {
|
||||||
return {
|
return {
|
||||||
|
additionalConfigurationOptions: this.$("form .additional-configuration-options").val(),
|
||||||
admin_password: this.$("form .admin-password").val(),
|
admin_password: this.$("form .admin-password").val(),
|
||||||
allowed_file_patching: this.$("form .allowed-file-patching").prop("checked") ? 2 : 1,
|
allowed_file_patching: this.$("form .allowed-file-patching").prop("checked") ? 2 : 1,
|
||||||
auto_start: this.$("form .auto-start").prop("checked"),
|
auto_start: this.$("form .auto-start").prop("checked"),
|
||||||
|
@ -134,4 +134,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="additional-configuration-options" class="col-sm-2 control-label">Additional configuration options</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<textarea rows="3"
|
||||||
|
class="form-control additional-configuration-options"
|
||||||
|
placeholder="No additional configuration options"><%- additionalConfigurationOptions %></textarea>
|
||||||
|
<p class="help-block">Additional configuration options that will be appended to the generated server.cfg config file. Avoid (re)declaring any of the options above here.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
Loading…
Reference in New Issue
Block a user