gameoverseer 0.1.4 → 0.1.5

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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f6234daab36afe1acaa8be59667cf2c146c5f0b6
4
- data.tar.gz: 288aebd6aa6deaeb6d2418e6fa8bd15556217000
3
+ metadata.gz: 8627b1078db7ca0404cacd500d5283d12ed65145
4
+ data.tar.gz: da7e1293a2fdb005c4cee2e4b34ac902123e0eff
5
5
  SHA512:
6
- metadata.gz: 3accaad6d8a65d2d86964c9e21e51069dfbf80b0b1c08b791b9eef41e1b6b85ec74274d0013d27862c502da29f40837e6f57f5c3647756f8b446543042f0e181
7
- data.tar.gz: 71fb9aed37fe69dd81269ee1da1a6264c8b3402ee149701a654e2677ee8ac502037224298c0a2fcd5ef0fb009b671859d0aa04a11cfc93c121213d470710342e
6
+ metadata.gz: 53e017c17c26b4b0d4a71d5278ce067592cbb0590d28b0f0da85a7f5575cdd4638e4b2f134b8907004857fb44560796c51c66adfa3864ec91a8fabf31f8d8a39
7
+ data.tar.gz: d1a5aef06d8f2a11bfb0ddb2c52e367f4950b7a92f542bafb11402b07c6897e666723add171cc8068adf177c0dbc112b01e14d2ae5c650d889f59ba4e5d36ab8
data/.gitignore CHANGED
@@ -1,4 +1,4 @@
1
- log-*.txt
2
- .yardoc/*
3
- protocol.md
4
- *.gem
1
+ log-*.txt
2
+ .yardoc/*
3
+ protocol.md
4
+ *.gem
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
data/Gemfile.lock CHANGED
@@ -1,30 +1,30 @@
1
- PATH
2
- remote: .
3
- specs:
4
- gameoverseer (0.1.2)
5
- concurrent-ruby
6
- gosu (= 0.10.6)
7
- multi_json
8
- renet
9
-
10
- GEM
11
- remote: https://rubygems.org/
12
- specs:
13
- concurrent-ruby (1.0.1)
14
- concurrent-ruby (1.0.1-java)
15
- gosu (0.10.6)
16
- gosu (0.10.6-x64-mingw32)
17
- gosu (0.10.6-x86-mingw32)
18
- multi_json (1.11.3)
19
- renet (0.2.1)
20
-
21
- PLATFORMS
22
- java
23
- x64-mingw32
24
- x86-mingw32
25
-
26
- DEPENDENCIES
27
- gameoverseer!
28
-
29
- BUNDLED WITH
30
- 1.11.2
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ gameoverseer (0.1.2)
5
+ concurrent-ruby
6
+ gosu (= 0.10.6)
7
+ multi_json
8
+ renet
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ concurrent-ruby (1.0.1)
14
+ concurrent-ruby (1.0.1-java)
15
+ gosu (0.10.6)
16
+ gosu (0.10.6-x64-mingw32)
17
+ gosu (0.10.6-x86-mingw32)
18
+ multi_json (1.11.3)
19
+ renet (0.2.1)
20
+
21
+ PLATFORMS
22
+ java
23
+ x64-mingw32
24
+ x86-mingw32
25
+
26
+ DEPENDENCIES
27
+ gameoverseer!
28
+
29
+ BUNDLED WITH
30
+ 1.11.2
data/README.md CHANGED
@@ -1,51 +1,51 @@
1
- [![Code Climate](https://codeclimate.com/github/cyberarm/rewrite-gameoverseer/badges/gpa.svg)](https://codeclimate.com/github/cyberarm/rewrite-gameoverseer)
2
- [![Inline docs](http://inch-ci.org/github/cyberarm/rewrite-gameoverseer.svg?branch=master)](http://inch-ci.org/github/cyberarm/rewrite-gameoverseer)
3
-
4
- # GameOverseer
5
- A game server, designed to be able to play host to up to 4 players in Planet Wars.
6
-
7
- This repo is a complete rewrite of [GameOverseer](https://github.com/cyberarm/gameoverseer).
8
-
9
- # Status
10
- In development.
11
- Any examples given are subject to be outdated at anytime.
12
-
13
- # Install
14
- ### Using bundler
15
- Add this to your Gemfile
16
- ``` ruby
17
- gem "gameoverseer"
18
- ```
19
- and run to install.
20
- ```
21
- bundle install
22
- ```
23
-
24
- ### Or using RubyGems
25
- ```
26
- gem install gameoverseer
27
- ```
28
-
29
- # Usage
30
- ``` ruby
31
- require 'gameoverseer'
32
-
33
- # Write a service for your game
34
- class GameWorld < GameOverseer::Service
35
- def setup
36
- channel_manager.register_channel('game_world', self)
37
- end
38
-
39
- def process(data)
40
- # Do stuff with the data hash.
41
- end
42
-
43
- def version
44
- "1.3.75"
45
- end
46
- end
47
-
48
- host = "localhost"
49
- port = 56789
50
- GameOverseer.activate(host, port)
51
- ```
1
+ [![Code Climate](https://codeclimate.com/github/cyberarm/rewrite-gameoverseer/badges/gpa.svg)](https://codeclimate.com/github/cyberarm/rewrite-gameoverseer)
2
+ [![Inline docs](http://inch-ci.org/github/cyberarm/rewrite-gameoverseer.svg?branch=master)](http://inch-ci.org/github/cyberarm/rewrite-gameoverseer)
3
+
4
+ # GameOverseer
5
+ A game server, designed to be able to play host to up to 4 players in Planet Wars.
6
+
7
+ This repo is a complete rewrite of [GameOverseer](https://github.com/cyberarm/gameoverseer).
8
+
9
+ # Status
10
+ In development.
11
+ Any examples given are subject to be outdated at anytime.
12
+
13
+ # Install
14
+ ### Using bundler
15
+ Add this to your Gemfile
16
+ ``` ruby
17
+ gem "gameoverseer"
18
+ ```
19
+ and run to install.
20
+ ```
21
+ bundle install
22
+ ```
23
+
24
+ ### Or using RubyGems
25
+ ```
26
+ gem install gameoverseer
27
+ ```
28
+
29
+ # Usage
30
+ ``` ruby
31
+ require 'gameoverseer'
32
+
33
+ # Write a service for your game
34
+ class GameWorld < GameOverseer::Service
35
+ def setup
36
+ channel_manager.register_channel('game_world', self)
37
+ end
38
+
39
+ def process(data)
40
+ # Do stuff with the data hash.
41
+ end
42
+
43
+ def version
44
+ "1.3.75"
45
+ end
46
+ end
47
+
48
+ host = "localhost"
49
+ port = 56789
50
+ GameOverseer.activate(host, port)
51
+ ```
data/gameoverseer.gemspec CHANGED
@@ -1,23 +1,23 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "gameoverseer/version"
4
-
5
- Gem::Specification.new do |s|
6
- s.name = "gameoverseer"
7
- s.version = GameOverseer::VERSION
8
- s.authors = ["Cyberarm"]
9
- s.email = ["matthewlikesrobots@gmail.com"]
10
- s.homepage = "https://github.com/cyberarm/rewrite-gameoverseer"
11
- s.summary = "Generic game server."
12
- s.description = "GameOverseer is designed to simplify the making of multiplayer games by providing a way to simply and easily write a game server."
13
-
14
- s.files = `git ls-files`.split("\n")
15
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
- s.require_paths = ["lib", "bin"]
18
-
19
- s.add_runtime_dependency "gosu", ">=0.10.6"
20
- s.add_runtime_dependency "concurrent-ruby"
21
- s.add_runtime_dependency "renet"
22
- s.add_runtime_dependency "multi_json"
23
- end
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "gameoverseer/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "gameoverseer"
7
+ s.version = GameOverseer::VERSION
8
+ s.authors = ["Cyberarm"]
9
+ s.email = ["matthewlikesrobots@gmail.com"]
10
+ s.homepage = "https://github.com/cyberarm/rewrite-gameoverseer"
11
+ s.summary = "Generic game server."
12
+ s.description = "GameOverseer is designed to simplify the making of multiplayer games by providing a way to simply and easily write a game server."
13
+
14
+ s.files = `git ls-files`.split("\n")
15
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
+ s.require_paths = ["lib", "bin"]
18
+
19
+ s.add_runtime_dependency "gosu", "~> 0.10", ">= 0.10.6"
20
+ s.add_runtime_dependency "concurrent-ruby"
21
+ s.add_runtime_dependency "renet", "~> 0.2", ">= 0.2.2"
22
+ s.add_runtime_dependency "multi_json"
23
+ end
@@ -1,49 +1,49 @@
1
- module GameOverseer
2
-
3
- # Handles routing packets to the services that subscribe to channels
4
- class ChannelManager
5
- CHAT = 0
6
- WORLD= 1
7
- HANDSHAKE = 2
8
- FAULT=3
9
-
10
- def initialize
11
- @channels = {}
12
- ChannelManager.instance = self
13
- end
14
-
15
- # Enables a service to subscribe to a channel
16
- # @param channel [String]
17
- # @param service [Service]
18
- def register_channel(channel, service)
19
- _channel = channel.downcase
20
- unless @channels[_channel]
21
- @channels[_channel] = service
22
- GameOverseer::Console.log("ChannelManager> mapped '#{_channel}' to '#{service.class}'.")
23
- else
24
- raise "Could not map channel '#{_channel}' because '#{@channels[data[_channel]].class}' is already using it."
25
- end
26
- end
27
-
28
- # Routes packet to {Service}
29
- # @param client_id [Integer] ID of client that sent the packet
30
- # @param data [Hash] data from packet
31
- def send_to_service(client_id, data)
32
- GameOverseer::Console.log("ChannelManager> sent '#{data}' to '#{@channels[data['channel']].class}'.")
33
- @channels[data['channel']].client_id = client_id
34
- @channels[data['channel']].process(data)
35
- end
36
-
37
- # Returns instance of active {ChannelManager}
38
- # @return [ChannelManager]
39
- def self.instance
40
- @instance
41
- end
42
-
43
- # Sets instance of {ChannelManager} that is used through out the system
44
- # @param _instance [ChannelManager]
45
- def self.instance=_instance
46
- @instance = _instance
47
- end
48
- end
49
- end
1
+ module GameOverseer
2
+
3
+ # Handles routing packets to the services that subscribe to channels
4
+ class ChannelManager
5
+ CHAT = 0
6
+ WORLD= 1
7
+ HANDSHAKE = 2
8
+ FAULT=3
9
+
10
+ def initialize
11
+ @channels = {}
12
+ ChannelManager.instance = self
13
+ end
14
+
15
+ # Enables a service to subscribe to a channel
16
+ # @param channel [String]
17
+ # @param service [Service]
18
+ def register_channel(channel, service)
19
+ _channel = channel.downcase
20
+ unless @channels[_channel]
21
+ @channels[_channel] = service
22
+ GameOverseer::Console.log("ChannelManager> mapped '#{_channel}' to '#{service.class}'.")
23
+ else
24
+ raise "Could not map channel '#{_channel}' because '#{@channels[data[_channel]].class}' is already using it."
25
+ end
26
+ end
27
+
28
+ # Routes packet to {Service}
29
+ # @param client_id [Integer] ID of client that sent the packet
30
+ # @param data [Hash] data from packet
31
+ def send_to_service(client_id, data)
32
+ GameOverseer::Console.log("ChannelManager> sent '#{data}' to '#{@channels[data['channel']].class}'.")
33
+ @channels[data['channel']].client_id = client_id
34
+ @channels[data['channel']].process(data)
35
+ end
36
+
37
+ # Returns instance of active {ChannelManager}
38
+ # @return [ChannelManager]
39
+ def self.instance
40
+ @instance
41
+ end
42
+
43
+ # Sets instance of {ChannelManager} that is used through out the system
44
+ # @param _instance [ChannelManager]
45
+ def self.instance=_instance
46
+ @instance = _instance
47
+ end
48
+ end
49
+ end
@@ -1,66 +1,66 @@
1
- module GameOverseer
2
-
3
- # Stores client data
4
- class ClientManager
5
- attr_accessor :clients
6
-
7
- def initialize
8
- ClientManager.instance = self
9
- @clients = []
10
- end
11
-
12
- # Add client to clients list
13
- # @param client_id [Integer]
14
- # @param ip_address [String]
15
- def add(client_id, ip_address)
16
- @clients << {client_id: client_id, ip_address: ip_address}
17
- GameOverseer::Services.client_connected(client_id, ip_address)
18
- end
19
-
20
- # Store client specific data in a {Hash}
21
- # @param client_id [Integer] ID of client
22
- # @param key [String|Symbol]
23
- # @param value What the key should equal
24
- def update(client_id, key, value)
25
- @clients.each do |hash|
26
- if hash[:client_id] == client_id
27
- hash[key] = value
28
- end
29
- end
30
- end
31
-
32
- # Gets client data
33
- # @param client_id [Integer]
34
- # @return [Hash] hash containing client data
35
- def get(client_id)
36
- _hash = @clients.detect do |hash|
37
- if hash[:client_id] == client_id
38
- true
39
- end
40
- end
41
-
42
- return _hash
43
- end
44
-
45
- # Removes client data and disconnects client
46
- # @param client_id [Integer] ID of client
47
- def remove(client_id)
48
- @clients.each do |hash|
49
- if hash[:client_id] == client_id
50
- @clients.delete(hash)
51
- GameOverseer::Services.client_disconnected(client_id)
52
- end
53
- end
54
- end
55
-
56
- # @return [ClientManager]
57
- def self.instance
58
- @instance
59
- end
60
-
61
- # @param _instance [ClientManager]
62
- def self.instance=_instance
63
- @instance = _instance
64
- end
65
- end
66
- end
1
+ module GameOverseer
2
+
3
+ # Stores client data
4
+ class ClientManager
5
+ attr_accessor :clients
6
+
7
+ def initialize
8
+ ClientManager.instance = self
9
+ @clients = []
10
+ end
11
+
12
+ # Add client to clients list
13
+ # @param client_id [Integer]
14
+ # @param ip_address [String]
15
+ def add(client_id, ip_address)
16
+ @clients << {client_id: client_id, ip_address: ip_address}
17
+ GameOverseer::Services.client_connected(client_id, ip_address)
18
+ end
19
+
20
+ # Store client specific data in a {Hash}
21
+ # @param client_id [Integer] ID of client
22
+ # @param key [String|Symbol]
23
+ # @param value What the key should equal
24
+ def update(client_id, key, value)
25
+ @clients.each do |hash|
26
+ if hash[:client_id] == client_id
27
+ hash[key] = value
28
+ end
29
+ end
30
+ end
31
+
32
+ # Gets client data
33
+ # @param client_id [Integer]
34
+ # @return [Hash] hash containing client data
35
+ def get(client_id)
36
+ _hash = @clients.detect do |hash|
37
+ if hash[:client_id] == client_id
38
+ true
39
+ end
40
+ end
41
+
42
+ return _hash
43
+ end
44
+
45
+ # Removes client data and disconnects client
46
+ # @param client_id [Integer] ID of client
47
+ def remove(client_id)
48
+ @clients.each do |hash|
49
+ if hash[:client_id] == client_id
50
+ @clients.delete(hash)
51
+ GameOverseer::Services.client_disconnected(client_id)
52
+ end
53
+ end
54
+ end
55
+
56
+ # @return [ClientManager]
57
+ def self.instance
58
+ @instance
59
+ end
60
+
61
+ # @param _instance [ClientManager]
62
+ def self.instance=_instance
63
+ @instance = _instance
64
+ end
65
+ end
66
+ end