class Arkrb::Server
Attributes
instance_name[R]
mod_list[R]
Public Class Methods
new(instance_name, sanitize_output = true)
click to toggle source
# File lib/arkrb/server.rb, line 11 def initialize(instance_name, sanitize_output = true) @instance_name = instance_name @sanitize_output = sanitize_output mod_list end
Public Instance Methods
backup!()
click to toggle source
@return [True, Exception]
# File lib/arkrb/server.rb, line 52 def backup! arkmanager_exec :backup end
broadcast(message)
click to toggle source
@return [True, Exception]
# File lib/arkrb/server.rb, line 87 def broadcast(message) arkmanager_exec(:broadcast, message) end
disable_mod(mod_id)
click to toggle source
@return [True, Exception]
# File lib/arkrb/server.rb, line 67 def disable_mod(mod_id) arkmanager_exec(:disable_mod, mod_id) end
enable_mod(mod_id)
click to toggle source
@return [True, Exception]
# File lib/arkrb/server.rb, line 62 def enable_mod(mod_id) arkmanager_exec(:enable_mod, mod_id) end
get_player_list()
click to toggle source
# File lib/arkrb/server.rb, line 96 def get_player_list sanitize_filter = @sanitize_output @sanitize_output = true users = [] player_list = rcon_cmd('ListPlayers') .split("\n") .map {|m| m.delete('\\"').strip} .reject(&:empty?) player_list.delete_if {|x| x =~ /Running command/im} if player_list.count == 1 && player_list.first =~ /no/im users << Player.new(player_list.first, player_list.first, player_list.first) else player_list.map! {|p| %i(name steam_id).zip(p.gsub!(/^[0-9]+. /im, '').split(', ')).to_h} player_list.each do |u| player_id = rcon_cmd("GetPlayerIDForSteamID #{u[:steam_id].to_i}") .split("\n") .delete_if {|x| x =~ /Running command/im} .map! {|x| x.delete('\\"').strip} .reject(&:empty?) .first.split('PlayerID: ').last users << Player.new(u[:name], u[:steam_id], player_id) end end @sanitize_output = sanitize_filter users end
install()
click to toggle source
# File lib/arkrb/server.rb, line 19 def install arkmanager_exec :install end
install_mod(mod_id)
click to toggle source
@return [True, Exception]
# File lib/arkrb/server.rb, line 72 def install_mod(mod_id) arkmanager_exec(:install_mod, mod_id) end
mod_updates_available?()
click to toggle source
@return [Boolean]
# File lib/arkrb/server.rb, line 129 def mod_updates_available? arkmanager_exec :check_mod_update end
rcon_cmd(command)
click to toggle source
@return [Object]
# File lib/arkrb/server.rb, line 92 def rcon_cmd(command) arkmanager_exec(:rconcmd, command.to_s) end
reinstall_mod(mod_id)
click to toggle source
@return [True, Exception]
# File lib/arkrb/server.rb, line 82 def reinstall_mod(mod_id) arkmanager_exec(:reinstall_mod, mod_id) end
restart!()
click to toggle source
@return [True, Exception]
# File lib/arkrb/server.rb, line 34 def restart! arkmanager_exec :restart end
save_world!()
click to toggle source
@return [True, Exception]
# File lib/arkrb/server.rb, line 57 def save_world! arkmanager_exec :save_world end
start!(verbose = false)
click to toggle source
@return [True, Exception]
# File lib/arkrb/server.rb, line 24 def start!(verbose = false) arkmanager_exec :start end
status!()
click to toggle source
# File lib/arkrb/server.rb, line 38 def status! arkmanager_exec :status end
stop!()
click to toggle source
@return [True, Exception]
# File lib/arkrb/server.rb, line 29 def stop! arkmanager_exec :stop end
uninstall_mod(mod_id)
click to toggle source
@return [True, Exception]
# File lib/arkrb/server.rb, line 77 def uninstall_mod(mod_id) arkmanager_exec(:uninstall_mod, mod_id) end
update!(update_mods = false)
click to toggle source
@return [True, Exception]
# File lib/arkrb/server.rb, line 43 def update!(update_mods = false) if update_mods arkmanager_exec :update, '--update-mods' else arkmanager_exec :update end end
update_available?()
click to toggle source
@return [Boolean]
# File lib/arkrb/server.rb, line 124 def update_available? arkmanager_exec :check_update end
Private Instance Methods
arkmanager_exec(command, command_opts = '')
click to toggle source
# File lib/arkrb/server.rb, line 139 def arkmanager_exec(command, command_opts = '') Arkrb.execute(command, command_opts, instance_name, @sanitize_output) end