Class: Rblock::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/rblock/server.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dir) ⇒ Server

Returns a new instance of Server.



4
5
6
7
8
9
10
11
12
# File 'lib/rblock/server.rb', line 4

def initialize(dir)
  @dir = dir
  @dir.sub!(/\/$/, "") # remove trailing slashes
  @name = @dir.match(/[a-zA-Z\_0-9]+$/)[0] # get only the final directory name
  Dir.chdir(@dir) do
    @log_file = Rblock::Logfile.new('server.log')
  end
  @screen = Rblock::Screen.new(@name)
end

Instance Attribute Details

#log_fileObject (readonly)

Returns the value of attribute log_file.



2
3
4
# File 'lib/rblock/server.rb', line 2

def log_file
  @log_file
end

Instance Method Details

#player_countObject



24
25
26
# File 'lib/rblock/server.rb', line 24

def player_count
  # TODO
end

#playersObject



28
29
30
# File 'lib/rblock/server.rb', line 28

def players
  # TODO
end

#running?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/rblock/server.rb', line 14

def running?
  @screen.running?
end

#say(message) ⇒ Object



36
37
38
# File 'lib/rblock/server.rb', line 36

def say(message)
  @screen.send "say #{message}"
end

#startObject



18
19
20
21
22
# File 'lib/rblock/server.rb', line 18

def start
  Dir.chdir(@dir) do
    @screen.start "sh -c 'cd #{Dir.getwd};java -Xms1024M -Xmx1024M -jar craftbukkit.jar -o true'"
  end
end

#stopObject



32
33
34
# File 'lib/rblock/server.rb', line 32

def stop
  @screen.send "stop"
end