game_machine 0.0.10 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +13 -9
- data/config/config.example.yml +8 -1
- data/config/game_messages.proto +1 -0
- data/config/messages.proto +4 -0
- data/games/example/lib/npc.rb +8 -7
- data/games/models.rb +3 -0
- data/games/models/clan_member.rb +8 -0
- data/games/models/clan_profile.rb +9 -0
- data/games/models/player.rb +7 -0
- data/games/plugins.rb +1 -0
- data/games/plugins/team_handler.rb +49 -0
- data/games/preload.rb +5 -0
- data/java/build.gradle +3 -1
- data/java/gradle.properties +1 -1
- data/lib/game_machine/actor/base.rb +5 -1
- data/lib/game_machine/application.rb +13 -3
- data/lib/game_machine/commands/datastore_commands.rb +3 -7
- data/lib/game_machine/commands/player_commands.rb +3 -0
- data/lib/game_machine/data_store.rb +22 -1
- data/lib/game_machine/data_stores/couchbase.rb +18 -1
- data/lib/game_machine/endpoints/udp_incoming.rb +0 -1
- data/lib/game_machine/game_systems.rb +2 -0
- data/lib/game_machine/game_systems/chat.rb +33 -13
- data/lib/game_machine/game_systems/chat_manager.rb +24 -3
- data/lib/game_machine/game_systems/json_model_persistence.rb +23 -0
- data/lib/game_machine/game_systems/region_manager.rb +1 -1
- data/lib/game_machine/game_systems/team_manager.rb +421 -0
- data/lib/game_machine/handlers/request.rb +4 -0
- data/lib/game_machine/model.rb +59 -13
- data/lib/game_machine/models.rb +17 -0
- data/lib/game_machine/models/create_team.rb +9 -0
- data/lib/game_machine/models/destroy_team.rb +8 -0
- data/lib/game_machine/models/echo_test.rb +6 -0
- data/lib/game_machine/models/end_match.rb +7 -0
- data/lib/game_machine/models/find_match.rb +7 -0
- data/lib/game_machine/models/join_team.rb +7 -0
- data/lib/game_machine/models/leave_team.rb +7 -0
- data/lib/game_machine/models/match.rb +9 -0
- data/lib/game_machine/models/player_team.rb +9 -0
- data/lib/game_machine/models/start_match.rb +8 -0
- data/lib/game_machine/models/team.rb +11 -0
- data/lib/game_machine/models/team_accept_invite.rb +9 -0
- data/lib/game_machine/models/team_invite.rb +8 -0
- data/lib/game_machine/models/team_joined.rb +7 -0
- data/lib/game_machine/models/team_left.rb +7 -0
- data/lib/game_machine/models/teams.rb +7 -0
- data/lib/game_machine/models/teams_request.rb +6 -0
- data/lib/game_machine/object_db.rb +17 -11
- data/lib/game_machine/version.rb +1 -1
- data/lib/game_machine/write_behind_cache.rb +1 -1
- data/spec/actor/actor_spec.rb +5 -5
- data/spec/actor/ref_spec.rb +10 -10
- data/spec/client_manager_spec.rb +9 -9
- data/spec/commands/chat_commands_spec.rb +1 -1
- data/spec/commands/datastore_commands_spec.rb +10 -14
- data/spec/commands/navigation_commands_spec.rb +3 -3
- data/spec/commands/player_commands_spec.rb +1 -1
- data/spec/game_systems/agents/controller_spec.rb +6 -6
- data/spec/game_systems/chat_manager_spec.rb +1 -1
- data/spec/game_systems/chat_spec.rb +15 -17
- data/spec/game_systems/region_manager_spec.rb +31 -21
- data/spec/game_systems/team_manager_spec.rb +291 -0
- data/spec/grid_spec.rb +11 -1
- data/spec/handlers/authentication_spec.rb +1 -10
- data/spec/handlers/game_spec.rb +2 -2
- data/spec/handlers/request_spec.rb +10 -21
- data/spec/hashring_spec.rb +11 -11
- data/spec/java_grid_spec.rb +1 -1
- data/spec/misc_spec.rb +2 -2
- data/spec/model_spec.rb +26 -14
- data/spec/write_behind_cache_spec.rb +15 -15
- metadata +29 -8
- data/lib/game_machine/bot/chat.rb +0 -66
- data/lib/game_machine/bot/client.rb +0 -54
- data/spec/data_stores/mapdb_spec.rb +0 -46
- data/spec/data_stores/redis_spec.rb +0 -44
data/spec/grid_spec.rb
CHANGED
@@ -2,6 +2,10 @@ require 'spec_helper'
|
|
2
2
|
module GameMachine
|
3
3
|
describe Grid do
|
4
4
|
|
5
|
+
let(:test_grid_config) do
|
6
|
+
{:grid_size => 10, :cell_size => 10, :update_frequency => 1}
|
7
|
+
end
|
8
|
+
|
5
9
|
subject {Grid}
|
6
10
|
|
7
11
|
before(:each) do
|
@@ -18,11 +22,17 @@ module GameMachine
|
|
18
22
|
describe "#load_from_config" do
|
19
23
|
it "should create grids from config" do
|
20
24
|
Grid.load_from_config
|
21
|
-
expect(Grid.config.has_key?('default')).to
|
25
|
+
expect(Grid.config.has_key?('default')).to be_truthy
|
22
26
|
end
|
23
27
|
end
|
24
28
|
|
25
29
|
describe "#find_or_create" do
|
30
|
+
|
31
|
+
before(:each) do
|
32
|
+
expect(subject.config).to receive(:fetch).with('test').
|
33
|
+
and_return(test_grid_config)
|
34
|
+
end
|
35
|
+
|
26
36
|
it "creates a grid if none exists for the given name" do
|
27
37
|
grid = subject.find_or_create('test')
|
28
38
|
expect(grid).to be_instance_of(JavaLib::Grid)
|
@@ -17,18 +17,9 @@ module GameMachine
|
|
17
17
|
|
18
18
|
context "player is authenticated" do
|
19
19
|
it "authenticates player with valid authtoken" do
|
20
|
-
expect(subject.authenticate!(player)).to
|
20
|
+
expect(subject.authenticate!(player)).to be_truthy
|
21
21
|
end
|
22
22
|
end
|
23
|
-
|
24
|
-
context "player is not authenticated" do
|
25
|
-
it "does not authenticate player with invalid authtoken" do
|
26
|
-
player.set_authtoken('badtoken')
|
27
|
-
expect(subject.authenticate!(player)).to be_false
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
|
32
23
|
end
|
33
24
|
|
34
25
|
end
|
data/spec/handlers/game_spec.rb
CHANGED
@@ -25,8 +25,8 @@ module GameMachine
|
|
25
25
|
|
26
26
|
it "dispatches entities to correct system" do
|
27
27
|
client_message = MessageLib::ClientMessage.new.add_entity(leave_chat)
|
28
|
-
GameSystems::ChatManager.
|
29
|
-
actor_ref.
|
28
|
+
allow(GameSystems::ChatManager).to receive(:find).and_return(actor_ref)
|
29
|
+
expect(actor_ref).to receive(:tell)
|
30
30
|
Game.should_receive_message(client_message,'dispatch_test') do
|
31
31
|
Game.find('dispatch_test').tell(client_message)
|
32
32
|
end
|
@@ -25,36 +25,25 @@ module GameMachine
|
|
25
25
|
|
26
26
|
let(:actor_ref) {double('Actor::Ref', :tell => true)}
|
27
27
|
|
28
|
-
|
28
|
+
subject do
|
29
|
+
ref = Actor::Builder.new(Request).with_name('request_test').test_ref
|
30
|
+
ref.underlying_actor
|
31
|
+
end
|
29
32
|
|
30
|
-
|
31
|
-
Actor::Builder.new(Request).with_name('test_request_handler').start
|
32
|
-
end
|
33
|
+
describe "#on_receive" do
|
33
34
|
|
34
35
|
it "sets player on entities" do
|
36
|
+
allow(Authentication).to receive(:authenticated?).and_return(true)
|
35
37
|
message = client_message
|
36
38
|
entity = message.get_entity_list.first
|
37
|
-
entity.
|
38
|
-
|
39
|
-
Request.find('test_request_handler').tell(message)
|
40
|
-
end
|
39
|
+
expect(entity).to receive(:set_player).with(message.player)
|
40
|
+
subject.on_receive(message)
|
41
41
|
end
|
42
42
|
|
43
43
|
|
44
44
|
it "calls unhandled if not a client message" do
|
45
|
-
|
46
|
-
|
47
|
-
Request.find('test_request_handler').tell('test')
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
it "calls unhandled if player is not set" do
|
52
|
-
message = client_message
|
53
|
-
message.set_player(nil)
|
54
|
-
Request.any_instance.should_receive(:unhandled).with(message)
|
55
|
-
Request.should_receive_message(message,'test_request_handler') do
|
56
|
-
Request.find('test_request_handler').tell(message)
|
57
|
-
end
|
45
|
+
expect(subject).to receive(:unhandled).with('test')
|
46
|
+
subject.on_receive('test')
|
58
47
|
end
|
59
48
|
|
60
49
|
end
|
data/spec/hashring_spec.rb
CHANGED
@@ -12,47 +12,47 @@ module GameMachine
|
|
12
12
|
|
13
13
|
describe "#nodes" do
|
14
14
|
it "nodes should equal buckets" do
|
15
|
-
subject.nodes.sort.
|
15
|
+
expect(subject.nodes.sort).to eq(buckets.sort)
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
19
|
describe "#points" do
|
20
20
|
it "should be number of points equal to REPLICAS * buckets.size " do
|
21
|
-
subject.points.size.
|
21
|
+
expect(subject.points.size).to eq(subject.buckets.size * Hashring::REPLICAS)
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
25
|
describe "#bucket_for" do
|
26
26
|
it "returns bucket for value" do
|
27
|
-
buckets.include?(subject.bucket_for('test')).
|
27
|
+
expect(buckets.include?(subject.bucket_for('test'))).to be_truthy
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
31
|
describe "#remove_bucket" do
|
32
32
|
it "removes the bucket from buckets array" do
|
33
33
|
subject.remove_bucket('server1')
|
34
|
-
subject.buckets.size.
|
35
|
-
subject.buckets.first.
|
34
|
+
expect(subject.buckets.size).to eq(1)
|
35
|
+
expect(subject.buckets.first).to eq('server2')
|
36
36
|
end
|
37
37
|
|
38
38
|
it "removes node from ring" do
|
39
39
|
subject.remove_bucket('server1')
|
40
|
-
subject.nodes.size.
|
41
|
-
subject.buckets.first.
|
40
|
+
expect(subject.nodes.size).to eq(1)
|
41
|
+
expect(subject.buckets.first).to eq('server2')
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
45
|
describe "#add_bucket" do
|
46
46
|
it "adds new bucket to buckets array" do
|
47
47
|
subject.add_bucket('blah')
|
48
|
-
subject.buckets.size.
|
49
|
-
subject.buckets.sort.first.
|
48
|
+
expect(subject.buckets.size).to eq(3)
|
49
|
+
expect(subject.buckets.sort.first).to eq('blah')
|
50
50
|
end
|
51
51
|
|
52
52
|
it "adds node to ring" do
|
53
53
|
subject.add_bucket('blah')
|
54
|
-
subject.nodes.size.
|
55
|
-
subject.nodes.sort.first.
|
54
|
+
expect(subject.nodes.size).to eq(3)
|
55
|
+
expect(subject.nodes.sort.first).to eq('blah')
|
56
56
|
end
|
57
57
|
end
|
58
58
|
end
|
data/spec/java_grid_spec.rb
CHANGED
data/spec/misc_spec.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'jruby/core_ext'
|
3
3
|
module GameMachine
|
4
|
+
|
4
5
|
describe "misc" do
|
5
6
|
let(:entity) do
|
6
7
|
entity = MessageLib::Entity.new
|
@@ -12,10 +13,9 @@ module GameMachine
|
|
12
13
|
entity
|
13
14
|
end
|
14
15
|
|
15
|
-
|
16
|
+
xit "singleton manager" do
|
16
17
|
ref = Akka.instance.actor_system.actor_selection('/user/region_manager_proxy')
|
17
18
|
ref.tell('HELLO',nil)
|
18
|
-
sleep 1
|
19
19
|
end
|
20
20
|
|
21
21
|
xit "vector3" do
|
data/spec/model_spec.rb
CHANGED
@@ -5,21 +5,25 @@ require 'benchmark'
|
|
5
5
|
module GameMachine
|
6
6
|
describe "model" do
|
7
7
|
|
8
|
-
|
8
|
+
|
9
|
+
class TestModel < GameMachine::Model
|
9
10
|
attribute :health, Integer
|
10
11
|
attribute :name, String
|
11
12
|
attribute :defense_skill, Integer
|
12
13
|
attribute :attack_skill, Integer
|
13
|
-
set_id_scope :tm
|
14
14
|
end
|
15
15
|
|
16
|
-
class
|
16
|
+
class ScopedModel < GameMachine::Model
|
17
17
|
attribute :health, Integer
|
18
18
|
attribute :name, String
|
19
19
|
attribute :defense_skill, Integer
|
20
20
|
attribute :attack_skill, Integer
|
21
|
+
attribute :test_models, Array
|
22
|
+
attribute :test_model, TestModel
|
23
|
+
set_id_scope :tm
|
21
24
|
end
|
22
25
|
|
26
|
+
|
23
27
|
let(:scoped_model) do
|
24
28
|
model = ScopedModel.new(:health => 100, :id => 'myid')
|
25
29
|
end
|
@@ -33,6 +37,19 @@ module GameMachine
|
|
33
37
|
end
|
34
38
|
|
35
39
|
|
40
|
+
|
41
|
+
# Unfinished but leaving here for now
|
42
|
+
describe "nesting" do
|
43
|
+
it "should parse correctly" do
|
44
|
+
scoped_model.test_models = []
|
45
|
+
scoped_model.test_models << test_model
|
46
|
+
scoped_model.test_models << test_model
|
47
|
+
scoped_model.test_model = test_model
|
48
|
+
hash = JSON.parse(scoped_model.to_json)
|
49
|
+
ScopedModel.from_hash(hash)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
36
53
|
context :scoped_model do
|
37
54
|
|
38
55
|
describe "#unscoped_id" do
|
@@ -60,19 +77,14 @@ module GameMachine
|
|
60
77
|
describe "#save" do
|
61
78
|
|
62
79
|
it "should return true on success" do
|
63
|
-
expect(test_model.save).to
|
64
|
-
end
|
65
|
-
|
66
|
-
it "should return false if id is nil" do
|
67
|
-
test_model.id = nil
|
68
|
-
expect(test_model.save).to be_false
|
80
|
+
expect(test_model.save).to be_truthy
|
69
81
|
end
|
70
82
|
end
|
71
83
|
|
72
84
|
describe "#save!" do
|
73
|
-
it "should
|
74
|
-
|
75
|
-
|
85
|
+
it "should call datastore.put!" do
|
86
|
+
expect_any_instance_of(GameMachine::Commands::DatastoreCommands).to receive(:put!)
|
87
|
+
test_model.save!
|
76
88
|
end
|
77
89
|
|
78
90
|
it "should not raise an exception if id is not nil" do
|
@@ -83,13 +95,13 @@ module GameMachine
|
|
83
95
|
describe "#to_json" do
|
84
96
|
it "should set klass" do
|
85
97
|
model_hash = JSON.parse(test_model.to_json)
|
86
|
-
expect(model_hash.has_key?('klass')).to
|
98
|
+
expect(model_hash.has_key?('klass')).to be_truthy
|
87
99
|
end
|
88
100
|
end
|
89
101
|
|
90
102
|
describe "#to_entity" do
|
91
103
|
it "should return an entity with json entity" do
|
92
|
-
expect(test_model.to_entity.has_json_entity).to
|
104
|
+
expect(test_model.to_entity.has_json_entity).to be_truthy
|
93
105
|
end
|
94
106
|
end
|
95
107
|
|
@@ -15,8 +15,8 @@ module GameMachine
|
|
15
15
|
ref = Actor::Builder.new(WriteBehindCache).test_ref
|
16
16
|
#props = JavaLib::Props.new(WriteBehindCache);
|
17
17
|
#ref = JavaLib::TestActorRef.create(Akka.instance.actor_system, props, WriteBehindCache.name);
|
18
|
-
ref.underlying_actor.
|
19
|
-
ref.underlying_actor.
|
18
|
+
allow(ref.underlying_actor).to receive(:schedule_queue_run)
|
19
|
+
allow(ref.underlying_actor).to receive(:schedule_queue_stats)
|
20
20
|
ref.underlying_actor.post_init
|
21
21
|
ref.underlying_actor
|
22
22
|
end
|
@@ -24,19 +24,19 @@ module GameMachine
|
|
24
24
|
describe "#on_receive" do
|
25
25
|
|
26
26
|
before(:each) do
|
27
|
-
DataStore.
|
27
|
+
allow(DataStore).to receive(:instance).and_return(data_store)
|
28
28
|
subject.write_interval = 10
|
29
29
|
subject.max_writes_per_second = 100
|
30
30
|
end
|
31
31
|
|
32
32
|
context "receives a string message" do
|
33
33
|
it "check_queue message should call check_queue" do
|
34
|
-
subject.
|
34
|
+
expect(subject).to receive(:check_queue)
|
35
35
|
subject.on_receive('check_queue')
|
36
36
|
end
|
37
37
|
|
38
38
|
it "takes one message id from queue and writes it" do
|
39
|
-
data_store.
|
39
|
+
expect(data_store).to receive(:set).exactly(2).times
|
40
40
|
3.times do |i|
|
41
41
|
subject.on_receive(entity.clone.set_id(i.to_s))
|
42
42
|
end
|
@@ -45,7 +45,7 @@ module GameMachine
|
|
45
45
|
end
|
46
46
|
|
47
47
|
it "queue_stats message should call queue_stats" do
|
48
|
-
subject.
|
48
|
+
expect(subject).to receive(:queue_stats)
|
49
49
|
subject.on_receive('queue_stats')
|
50
50
|
end
|
51
51
|
end
|
@@ -54,28 +54,28 @@ module GameMachine
|
|
54
54
|
|
55
55
|
it "new message should be written to cache" do
|
56
56
|
subject.on_receive(entity)
|
57
|
-
subject.cache.fetch(entity.id).
|
57
|
+
expect(subject.cache.fetch(entity.id)).to eq(entity)
|
58
58
|
end
|
59
59
|
|
60
60
|
it "message not eligible for write should be enqueued" do
|
61
61
|
subject.on_receive(entity)
|
62
62
|
subject.on_receive(entity)
|
63
|
-
subject.queue.size.
|
63
|
+
expect(subject.queue.size).to eq(1)
|
64
64
|
end
|
65
65
|
|
66
66
|
it "saves to store with entity id and entity" do
|
67
|
-
data_store.
|
67
|
+
expect(data_store).to receive(:set).with(entity.id,kind_of(java.lang.Object))
|
68
68
|
subject.on_receive(entity)
|
69
69
|
end
|
70
70
|
|
71
71
|
it "does not save if write on same id happens before write_interval has passed" do
|
72
|
-
data_store.
|
72
|
+
expect(data_store).to receive(:set).with(entity.id,kind_of(java.lang.Object)).once
|
73
73
|
subject.on_receive(entity)
|
74
74
|
subject.on_receive(entity)
|
75
75
|
end
|
76
76
|
|
77
77
|
it "sequential writes of different id's should get saved" do
|
78
|
-
data_store.
|
78
|
+
expect(data_store).to receive(:set).exactly(4).times
|
79
79
|
4.times do |i|
|
80
80
|
subject.on_receive(entity.clone.set_id(i.to_s))
|
81
81
|
sleep 0.150
|
@@ -85,8 +85,8 @@ module GameMachine
|
|
85
85
|
it "sequential writes that exceed max writes per second should be enqueued" do
|
86
86
|
subject.write_interval = -1
|
87
87
|
subject.max_writes_per_second = 1
|
88
|
-
data_store.
|
89
|
-
subject.
|
88
|
+
expect(data_store).to receive(:set).exactly(1).times
|
89
|
+
expect(subject).to receive(:enqueue).exactly(2).times
|
90
90
|
3.times do |i|
|
91
91
|
subject.on_receive(entity.clone.set_id(i.to_s))
|
92
92
|
end
|
@@ -95,8 +95,8 @@ module GameMachine
|
|
95
95
|
it "sequential writes of existing messages that exceed write_interval should be enqueued" do
|
96
96
|
subject.write_interval = 100000
|
97
97
|
subject.max_writes_per_second = -1
|
98
|
-
data_store.
|
99
|
-
subject.
|
98
|
+
expect(data_store).to receive(:set).exactly(1).times
|
99
|
+
expect(subject).to receive(:enqueue).exactly(3).times
|
100
100
|
4.times do |i|
|
101
101
|
subject.on_receive(entity.set_id('11'))
|
102
102
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: game_machine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Ochs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: i18n
|
@@ -260,6 +260,12 @@ files:
|
|
260
260
|
- games/example/lib/player_register.rb
|
261
261
|
- games/example/lib/tracking_handler.rb
|
262
262
|
- games/example/lib/zone_manager.rb
|
263
|
+
- games/models.rb
|
264
|
+
- games/models/clan_member.rb
|
265
|
+
- games/models/clan_profile.rb
|
266
|
+
- games/models/player.rb
|
267
|
+
- games/plugins.rb
|
268
|
+
- games/plugins/team_handler.rb
|
263
269
|
- games/preload.rb
|
264
270
|
- integration_tests/basic_spec.rb
|
265
271
|
- integration_tests/bot_spec.rb
|
@@ -314,8 +320,6 @@ files:
|
|
314
320
|
- lib/game_machine/application.rb
|
315
321
|
- lib/game_machine/auth_handlers/base.rb
|
316
322
|
- lib/game_machine/auth_handlers/public.rb
|
317
|
-
- lib/game_machine/bot/chat.rb
|
318
|
-
- lib/game_machine/bot/client.rb
|
319
323
|
- lib/game_machine/client_manager.rb
|
320
324
|
- lib/game_machine/clients.rb
|
321
325
|
- lib/game_machine/clients/client.rb
|
@@ -359,6 +363,7 @@ files:
|
|
359
363
|
- lib/game_machine/game_systems/devnull.rb
|
360
364
|
- lib/game_machine/game_systems/entity_loader.rb
|
361
365
|
- lib/game_machine/game_systems/entity_tracking.rb
|
366
|
+
- lib/game_machine/game_systems/json_model_persistence.rb
|
362
367
|
- lib/game_machine/game_systems/local_echo.rb
|
363
368
|
- lib/game_machine/game_systems/objectdb_proxy.rb
|
364
369
|
- lib/game_machine/game_systems/private_chat.rb
|
@@ -367,6 +372,7 @@ files:
|
|
367
372
|
- lib/game_machine/game_systems/region_settings.rb
|
368
373
|
- lib/game_machine/game_systems/remote_echo.rb
|
369
374
|
- lib/game_machine/game_systems/stress_test.rb
|
375
|
+
- lib/game_machine/game_systems/team_manager.rb
|
370
376
|
- lib/game_machine/grid.rb
|
371
377
|
- lib/game_machine/grid_replicator.rb
|
372
378
|
- lib/game_machine/handlers/authentication.rb
|
@@ -381,8 +387,25 @@ files:
|
|
381
387
|
- lib/game_machine/message_queue.rb
|
382
388
|
- lib/game_machine/model.rb
|
383
389
|
- lib/game_machine/models.rb
|
390
|
+
- lib/game_machine/models/create_team.rb
|
391
|
+
- lib/game_machine/models/destroy_team.rb
|
392
|
+
- lib/game_machine/models/echo_test.rb
|
393
|
+
- lib/game_machine/models/end_match.rb
|
394
|
+
- lib/game_machine/models/find_match.rb
|
395
|
+
- lib/game_machine/models/join_team.rb
|
396
|
+
- lib/game_machine/models/leave_team.rb
|
397
|
+
- lib/game_machine/models/match.rb
|
384
398
|
- lib/game_machine/models/player_status_update.rb
|
399
|
+
- lib/game_machine/models/player_team.rb
|
385
400
|
- lib/game_machine/models/region.rb
|
401
|
+
- lib/game_machine/models/start_match.rb
|
402
|
+
- lib/game_machine/models/team.rb
|
403
|
+
- lib/game_machine/models/team_accept_invite.rb
|
404
|
+
- lib/game_machine/models/team_invite.rb
|
405
|
+
- lib/game_machine/models/team_joined.rb
|
406
|
+
- lib/game_machine/models/team_left.rb
|
407
|
+
- lib/game_machine/models/teams.rb
|
408
|
+
- lib/game_machine/models/teams_request.rb
|
386
409
|
- lib/game_machine/mono_server.rb
|
387
410
|
- lib/game_machine/navigation.rb
|
388
411
|
- lib/game_machine/navigation/detour.rb
|
@@ -453,8 +476,6 @@ files:
|
|
453
476
|
- spec/commands/navigation_commands_spec.rb
|
454
477
|
- spec/commands/player_commands_spec.rb
|
455
478
|
- spec/commands_spec.rb
|
456
|
-
- spec/data_stores/mapdb_spec.rb
|
457
|
-
- spec/data_stores/redis_spec.rb
|
458
479
|
- spec/game_systems/agents/controller_spec.rb
|
459
480
|
- spec/game_systems/agents/test_agent.rb
|
460
481
|
- spec/game_systems/agents/test_agent_config.rb
|
@@ -462,6 +483,7 @@ files:
|
|
462
483
|
- spec/game_systems/chat_spec.rb
|
463
484
|
- spec/game_systems/entity_tracking_spec.rb
|
464
485
|
- spec/game_systems/region_manager_spec.rb
|
486
|
+
- spec/game_systems/team_manager_spec.rb
|
465
487
|
- spec/grid_spec.rb
|
466
488
|
- spec/handlers/authentication_spec.rb
|
467
489
|
- spec/handlers/game_spec.rb
|
@@ -546,8 +568,6 @@ test_files:
|
|
546
568
|
- spec/commands/navigation_commands_spec.rb
|
547
569
|
- spec/commands/player_commands_spec.rb
|
548
570
|
- spec/commands_spec.rb
|
549
|
-
- spec/data_stores/mapdb_spec.rb
|
550
|
-
- spec/data_stores/redis_spec.rb
|
551
571
|
- spec/game_systems/agents/controller_spec.rb
|
552
572
|
- spec/game_systems/agents/test_agent.rb
|
553
573
|
- spec/game_systems/agents/test_agent_config.rb
|
@@ -555,6 +575,7 @@ test_files:
|
|
555
575
|
- spec/game_systems/chat_spec.rb
|
556
576
|
- spec/game_systems/entity_tracking_spec.rb
|
557
577
|
- spec/game_systems/region_manager_spec.rb
|
578
|
+
- spec/game_systems/team_manager_spec.rb
|
558
579
|
- spec/grid_spec.rb
|
559
580
|
- spec/handlers/authentication_spec.rb
|
560
581
|
- spec/handlers/game_spec.rb
|