minecraft-server 0.0.1.pre.31 → 0.0.1.pre.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NDM1MmU1MGE3ZWViMDJiNzM2MjNjYmNkNDIyYjFiZTNjYTcwYjQ0Zg==
4
+ ZTM3ZjI4MGY3M2I4NzUwMTBmYTIwODYzZDNjMGMxODgxZGRhZmY2NQ==
5
5
  data.tar.gz: !binary |-
6
- M2QxZTE0YzA2MDA4NTE2YTQ0Y2ZiMGZjNTA0OThkNzhjMTE2YWVkMw==
6
+ OWJmNzYyNTAxOTk1YzFmNWY5MWRkYzI2YjVmN2E4N2JmYjY5NzM1Zg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ODkyYjc4OWYzYWQ0MzFiOGExYzcwMjhmOTE3MTAxMTg4YjAyMTIwMmYzYmQ4
10
- ZGIyMmMxNDc4ZTZjYWYwMjRmY2I4MjM5OGZkZGFkM2UxOGIzODI2M2M1ZjRh
11
- YWE4ZGMzMGQ4ZDRlZTU4OThiNDQ3NzVjM2IwOGUwZjIzYjkwNzY=
9
+ M2MxZTY0ZmVkOGYyYWM4ZDlkYTU5NWY1NWEyMmJlZWUyODgzZTZmZDRiNWY3
10
+ MWNlMTBhZDZhZWEwOGY5MDRlODI5NzM2YmNhMmQ1NDEyZWIxNzVjZDllZDI4
11
+ YTk4ZmNmNzExMTcwY2RiYzU4OGE2OGU5MWE3YmEzZWJlZGQ2MzE=
12
12
  data.tar.gz: !binary |-
13
- YmQxZDYxYzZhN2VlZDg1YTc5ZDc2MGRkZmJjNDIwYmZjODIyM2MxMGU3MDRm
14
- MGMyNDZiODFmMmI3NWQxNjk2OWQ5NjBhMjY5OTY3OTVjMTQ4OTVlMWM2Yzhk
15
- NTA5ZGI5YTI5M2U1MDYyOTU5M2UwZGJhMjk4NWY5YzNlYWI2ODE=
13
+ YjZlMjcyMmY5OWIwZDczZDU4N2QwMjY2YzNmYTkzNzAyOTdhNjAyYmQ3ZGNi
14
+ NWNiNTYzMjEwNDA4NDk3ODAwNzRlNjM3MDBiZGZlNWU2Nzg2MTRjMjFlYmNl
15
+ ODI0MDI2ZjM5MjY3ZTRjNTU5NmFlMWU5YTNjN2QzM2ZhMDgyZWM=
@@ -30,6 +30,11 @@ module Minecraft
30
30
  # @return [TCPServer] The TCP Server used for network communication
31
31
  attr_reader :server
32
32
 
33
+ # @!attribute clients
34
+ # Instance variable representing the Array of Clients Currently Connected.
35
+ # @return [Array] The clients connected
36
+ attr_reader :clients
37
+
33
38
  # @!attribute port
34
39
  # Instance variable representing the port used for network communication.
35
40
  # @return [Integer] The port used for network communication
@@ -40,6 +45,8 @@ module Minecraft
40
45
  # @return [Log4r::Logger]
41
46
  attr_accessor :logger
42
47
 
48
+ attr_reader :max_players
49
+
43
50
  def initialize(config = {})
44
51
  @logger = Log4r::Logger.new 'Minecraft Server'
45
52
  @logger.outputters << Log4r::Outputter.stdout
@@ -89,13 +96,21 @@ module Minecraft
89
96
  else
90
97
  @port = 25565
91
98
  end
99
+
100
+ if config[:max_players]
101
+ @max_players = config[:max_players]
102
+ else
103
+ @max_players = 20
104
+ end
105
+
92
106
  @logger.info "Running on port: #{@port}"
93
107
  end
94
108
 
95
109
  # Starts this instance of {Minecraft::Server}
96
110
  def start
97
111
  @server = TCPServer.new(@port)
98
- @logger.info 'Now accepting clients.'
112
+ @clients = Array.new(max_players)
113
+ @logger.info 'Now Accepting Clients.'
99
114
  accept_clients
100
115
  end
101
116
 
@@ -103,18 +118,20 @@ module Minecraft
103
118
  client_thread = Thread.new do
104
119
  loop do
105
120
  client = @server.accept
106
- #client.puts "Hello !"
107
- #client.puts "Time is #{Time.now}"
121
+ clients << client
108
122
  @logger.info "Client connected: #{client}"
109
- client.close
110
123
  end
111
124
  end
112
125
  client_thread.join
113
126
  end
114
127
 
115
- # Shuts down this instance of {Minecraft::Server}
116
- def shutdown
117
-
128
+ def drop_clients
129
+ logger.info 'Now Dropping all Recorded Clients'
130
+ clients.each do |client|
131
+ client.close
132
+ clients.delete client
133
+ logger.info "Client Dropped and Removed from Client Array: #{client}"
134
+ end
118
135
  end
119
136
 
120
137
  end
@@ -33,6 +33,11 @@ module Minecraft
33
33
  @config[:port] = port
34
34
  end
35
35
 
36
+ def max_players(players = 20)
37
+ @config[:max_players] = players
38
+ end
39
+ alias_method :player_limit, :max_players
40
+
36
41
  end
37
42
 
38
43
  class ConfigFile
@@ -46,7 +51,8 @@ module Minecraft
46
51
  '',
47
52
  '## Network Settings',
48
53
  '',
49
- 'port 25565'
54
+ 'port 25565',
55
+ 'max_players 20'
50
56
  ]
51
57
 
52
58
  def initialize(file)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minecraft-server
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.pre.31
4
+ version: 0.0.1.pre.32
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kepler Sticka-Jones