game-server 0.4.2 → 0.4.3
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.
- data/Gemfile +1 -1
- data/Gemfile.lock +1 -1
- data/VERSION +1 -1
- data/game-server.gemspec +6 -6
- data/lib/base_listner.rb +26 -3
- metadata +40 -15
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.3
|
data/game-server.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "game-server"
|
8
|
-
s.version = "0.4.
|
8
|
+
s.version = "0.4.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["V_M"]
|
12
|
-
s.date = "2012-
|
12
|
+
s.date = "2012-09-10"
|
13
13
|
s.description = "siply general-porpuse game server"
|
14
14
|
s.email = "nobody@nowhere.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -41,7 +41,7 @@ Gem::Specification.new do |s|
|
|
41
41
|
s.homepage = "http://github.com/blimp666/game-server"
|
42
42
|
s.licenses = ["MIT"]
|
43
43
|
s.require_paths = ["lib"]
|
44
|
-
s.rubygems_version = "1.8.
|
44
|
+
s.rubygems_version = "1.8.24"
|
45
45
|
s.summary = "simply game server"
|
46
46
|
|
47
47
|
if s.respond_to? :specification_version then
|
@@ -50,20 +50,20 @@ Gem::Specification.new do |s|
|
|
50
50
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
51
51
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
52
52
|
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
53
|
-
s.add_development_dependency(%q<bundler>, ["~> 1.0
|
53
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0"])
|
54
54
|
s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
|
55
55
|
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
56
56
|
else
|
57
57
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
58
58
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
59
|
-
s.add_dependency(%q<bundler>, ["~> 1.0
|
59
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
60
60
|
s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
|
61
61
|
s.add_dependency(%q<simplecov>, [">= 0"])
|
62
62
|
end
|
63
63
|
else
|
64
64
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
65
65
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
66
|
-
s.add_dependency(%q<bundler>, ["~> 1.0
|
66
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
67
67
|
s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
|
68
68
|
s.add_dependency(%q<simplecov>, [">= 0"])
|
69
69
|
end
|
data/lib/base_listner.rb
CHANGED
@@ -2,8 +2,14 @@
|
|
2
2
|
require File.dirname(__FILE__) + '/daemon_logger'
|
3
3
|
# Базовый модуль для прослушивания JSON запросов от клиента
|
4
4
|
module GameServer::BaseListner
|
5
|
+
MAX_INPUT_BUFFER_SIZE = 128 * 1024
|
5
6
|
|
6
7
|
include DaemonLogger::Mixins
|
8
|
+
|
9
|
+
def initialize(*args)
|
10
|
+
super(*args)
|
11
|
+
self.input_buffer = ""
|
12
|
+
end
|
7
13
|
|
8
14
|
def find_controller(request)
|
9
15
|
return unless request.name =~ /^[A-Za-z_]+$/
|
@@ -48,12 +54,29 @@ module GameServer::BaseListner
|
|
48
54
|
# close_connection_after_writing
|
49
55
|
end
|
50
56
|
|
57
|
+
|
58
|
+
# В этом буфере хранится начало сообщения от клиента, если оно вдруг разбилось на несколько кусоков данных
|
59
|
+
attr_accessor :input_buffer
|
60
|
+
|
51
61
|
# Обработать входящие данные (может быть несклько строк запросов в одном пакете данных)
|
52
62
|
def receive_data(data)
|
53
63
|
data.gsub!("\000", "")
|
54
|
-
|
55
|
-
|
56
|
-
|
64
|
+
|
65
|
+
complete_message = input_buffer + data
|
66
|
+
if complete_message[-1] != "\n"
|
67
|
+
self.input_buffer = complete_message
|
68
|
+
if input_buffer.size >= MAX_INPUT_BUFFER_SIZE
|
69
|
+
self.input_buffer.clear
|
70
|
+
raise "OVERFLOW OF INPUT BUFFER #{input_buffer.size}"
|
71
|
+
end
|
72
|
+
return
|
73
|
+
else
|
74
|
+
input_buffer.clear
|
75
|
+
end
|
76
|
+
|
77
|
+
log "Received from #{connection_info} (size #{complete_message.size}): " + complete_message.inspect
|
78
|
+
return if policy_file_request(complete_message)
|
79
|
+
complete_message.split("\n").each do |query_string|
|
57
80
|
process_query(query_string)
|
58
81
|
end
|
59
82
|
rescue => e
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: game-server
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-09-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: shoulda
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: rdoc
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ~>
|
@@ -32,21 +37,31 @@ dependencies:
|
|
32
37
|
version: '3.12'
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '3.12'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: bundler
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ~>
|
42
52
|
- !ruby/object:Gem::Version
|
43
|
-
version: 1.0
|
53
|
+
version: '1.0'
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: jeweler
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ~>
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: 1.8.3
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 1.8.3
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: simplecov
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,7 +85,12 @@ dependencies:
|
|
65
85
|
version: '0'
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
description: siply general-porpuse game server
|
70
95
|
email: nobody@nowhere.com
|
71
96
|
executables: []
|
@@ -109,7 +134,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
109
134
|
version: '0'
|
110
135
|
segments:
|
111
136
|
- 0
|
112
|
-
hash: -
|
137
|
+
hash: -847890477
|
113
138
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
139
|
none: false
|
115
140
|
requirements:
|
@@ -118,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
118
143
|
version: '0'
|
119
144
|
requirements: []
|
120
145
|
rubyforge_project:
|
121
|
-
rubygems_version: 1.8.
|
146
|
+
rubygems_version: 1.8.24
|
122
147
|
signing_key:
|
123
148
|
specification_version: 3
|
124
149
|
summary: simply game server
|