gsd-cli 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ec0f5ab4fc54d72fdbc86590104a44df95b4905b8b7a7d0a2e12f57b8c16781c
4
- data.tar.gz: '087d61469575d54a24ab64c7f7cc8c537b9a77478de951372659bd868d7f090a'
3
+ metadata.gz: 3f51a3f09492d1446b2686d71c78e5974d82629d81750a7d889c33168297382b
4
+ data.tar.gz: 6db2c60577a47d8496a1713b9fc4f692106830c9562dcf0dc69bebfb76034938
5
5
  SHA512:
6
- metadata.gz: e65ed3349d74c98e9429d639975e37654bc966973bc188cd1d4a1fbaaeb28347ed3c9b0c6380f0648a482cf01605ce02574ee05ac4e622da2dfbc73bacd3cfc9
7
- data.tar.gz: 1e3fe3983c6dca9fb94ab71184638b4dbbbd0039465dcaa22e7f9414a365af780953624878619419981f157e6268c54aa471e8cbd5dfe907200f3217b1ed0448
6
+ metadata.gz: 3264339bf20ff93de39ee70832c9739f9085c0baaad522a18d6c797c0e72150320402a8a79642920cd7e649aaf2c0a60a23695a978be91ba2159d597b2dd55bb
7
+ data.tar.gz: cb7dfe47c96048b258937d0472612f33559e9d45ca3afd0a94084002b10cd4e3932f3caa4d7d2ef2292f3c364e958b36a0452e445ce4c9d34ce8320810c59249
data/bin/gsd-cli CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
+ $LOAD_PATH << "./lib"
4
5
  require "cli"
data/lib/cli.rb CHANGED
@@ -34,11 +34,13 @@ command :install do |c|
34
34
  c.syntax = "gsd install [args] [options]"
35
35
  c.summary = "Install and deploy a dedicated game server as a daemon."
36
36
  c.description = "Installs and deploy a dedicated game server as a daemon (systemd unit)."
37
- c.option "--path STRING", String, "Path that the game server will be installed to."
38
- c.option "--steamuser STRING", String, "Steam user account required to install certain games."
39
- c.option "--steampassword STRING", String, "Steam account password for installing certain games."
37
+ c.option "--path OPTIONAL", String, "Path that the game server will be installed to."
38
+ c.option "--devmode OPTIONAL", String, "To run from source or as a Gem. ('y' to run from source)"
39
+ c.option "--steamuser OPTIONAL", String, "Steam user account required to install certain games."
40
+ c.option "--steampassword OPTIONAL", String, "Steam account password for installing certain games."
40
41
  c.action do |args, options|
41
- GameTemplate.new(@games[args.first()], options.path).install(options.steamuser, options.steampassword)
42
+ GameTemplate.new(@games[args.first()], options.path)
43
+ .install(options.steamuser, options.steampassword, options.devmode)
42
44
  end
43
45
  end
44
46
 
data/lib/game_template.rb CHANGED
@@ -36,7 +36,7 @@ class GameTemplate
36
36
  exec(@game.launch(@install_path))
37
37
  end
38
38
 
39
- def install(steamuser, steampassword)
39
+ def install(steamuser, steampassword, dev_mode)
40
40
  puts "Beginning installation process. This may take a while..."
41
41
  ensure_delete_unit_file()
42
42
  if @game.app_id.nil?
@@ -44,13 +44,17 @@ class GameTemplate
44
44
  else
45
45
  install_steam_server(steamuser, steampassword)
46
46
  end
47
- create_unit_file()
47
+ binary_path = if dev_mode.nil?
48
+ "/usr/local/bin/gsd-cli"
49
+ else
50
+ puts "Dev mode enabled - running from source"
51
+ "#{Dir.pwd}/bin/gsd-cli"
52
+ end
53
+ create_unit_file(binary_path)
48
54
  system("sudo -p 'sudo password: ' cp -f #{@file_path} /etc/systemd/system/#{@game.name}.service")
49
55
  puts "Server installation & deployment complete!".green
50
56
  end
51
57
 
52
- # Generic cli-facing update function
53
- # for updating installed dedicated game servers
54
58
  def update
55
59
  if @game.app_id.nil?
56
60
  puts "Non-Steam games not supported."
@@ -87,13 +91,13 @@ class GameTemplate
87
91
  File.delete(@file_path) if File.file?(@file_path)
88
92
  end
89
93
 
90
- def create_unit_file
94
+ def create_unit_file(binary_path)
91
95
  out_file = File.new(@file_path, "w")
92
- out_file.puts(unit_file_contents()) # TODO: Pass in map with config
96
+ out_file.puts(unit_file_contents(binary_path)) # TODO: Pass in map with config
93
97
  out_file.close()
94
98
  end
95
99
 
96
- def unit_file_contents
100
+ def unit_file_contents(binary_path)
97
101
  "[Unit]
98
102
  After=network.target
99
103
  Description=#{@desc}
@@ -104,6 +108,6 @@ class GameTemplate
104
108
  WorkingDirectory=#{Dir.pwd}
105
109
  Type=simple
106
110
  User=#{`whoami`}
107
- ExecStart=#{Dir.pwd}/bin/gsd run #{@game.name} --path #{@install_path}"
111
+ ExecStart=#{binary_path} #{@game.name} --path #{@install_path}"
108
112
  end
109
113
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gsd-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Egee
@@ -41,7 +41,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
41
41
  requirements:
42
42
  - - ">="
43
43
  - !ruby/object:Gem::Version
44
- version: '2.2'
44
+ version: '2.5'
45
45
  required_rubygems_version: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - ">="