game-server 0.2.4 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -26,13 +26,13 @@ Jeweler::Tasks.new do |gem|
26
26
  gem.files.include 'lib/game_server.rb'
27
27
  gem.files.include 'lib/base_listner.rb'
28
28
  gem.files.include 'lib/daemon_logger.rb'
29
- gem.files.include 'lib/game_server.rb'
30
29
  gem.files.include 'lib/request_parser.rb'
31
30
  gem.files.include 'lib/request.rb'
32
31
  gem.files.include 'lib/server_error.rb'
33
32
  gem.files.include 'lib/server_starter.rb'
34
33
  gem.files.include 'lib/object_space.rb'
35
34
  gem.files.include 'lib/game_error.rb'
35
+ gem.files.include 'lib/client.rb'
36
36
  end
37
37
  Jeweler::RubygemsDotOrgTasks.new
38
38
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.4
1
+ 0.3.0
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.2.4"
8
+ s.version = "0.3.0"
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-05-14"
12
+ s.date = "2012-05-22"
13
13
  s.description = "siply general-porpuse game server"
14
14
  s.email = "nobody@nowhere.com"
15
15
  s.extra_rdoc_files = [
@@ -26,6 +26,7 @@ Gem::Specification.new do |s|
26
26
  "VERSION",
27
27
  "game-server.gemspec",
28
28
  "lib/base_listner.rb",
29
+ "lib/client.rb",
29
30
  "lib/daemon_logger.rb",
30
31
  "lib/game_error.rb",
31
32
  "lib/game_server.rb",
data/lib/base_listner.rb CHANGED
@@ -48,7 +48,7 @@ module GameServer::BaseListner
48
48
  logger.error e
49
49
  logger.error e.backtrace.join("\n")
50
50
  send_error(e.class.to_s.underscore)
51
- close_connection_after_writing
51
+ # close_connection_after_writing
52
52
  end
53
53
 
54
54
  # Обработать входящие данные (может быть несклько строк запросов в одном пакете данных)
data/lib/client.rb ADDED
@@ -0,0 +1,40 @@
1
+ module GameServer::Client
2
+
3
+
4
+ def receive_request(request)
5
+ find_controller(request.name).new(self, request).run
6
+ rescue Exception => e
7
+ logger.info "\n\n\n\n\n\nCRITICAL SERVER ERROR"
8
+ logger.error e
9
+ logger.error e.backtrace.join("\n")
10
+ end
11
+
12
+ def send_line(string)
13
+ send_data(string + "\n")
14
+ end
15
+
16
+ def send_json(object)
17
+ send_line object.to_json
18
+ end
19
+
20
+
21
+ def receive_data(data)
22
+ @data ||= ""
23
+ @data += data
24
+ if data =~ /\000\n$/
25
+ all_data = @data
26
+ @data = ""
27
+ all_data.gsub!("\000",'').split(/\n/).each do |string|
28
+ request = GameServer::RequestParser.new(string).parse
29
+ receive_request(request)
30
+ end
31
+ end
32
+ end
33
+
34
+ def find_controller(name)
35
+ "#{self.class.name}::#{name.to_s.camelize}Controller".constantize
36
+ rescue NameError
37
+ "#{self.class.name}::NilController".constantize
38
+ end
39
+
40
+ end
data/lib/daemon_logger.rb CHANGED
@@ -5,6 +5,8 @@ module DaemonLogger
5
5
  file.sync = true
6
6
  @logger = Logger.new(file)
7
7
  @logger.level = Logger::DEBUG
8
+ @logger.formatter = Formatter.new
9
+ @logger.datetime_format = "%y-%m-%d %H:%M:%S.%L"
8
10
  end
9
11
 
10
12
  def logger
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.2.4
4
+ version: 0.3.0
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-05-14 00:00:00.000000000 Z
12
+ date: 2012-05-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: shoulda
16
- requirement: &69149030 !ruby/object:Gem::Requirement
16
+ requirement: &83776500 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *69149030
24
+ version_requirements: *83776500
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rdoc
27
- requirement: &69148480 !ruby/object:Gem::Requirement
27
+ requirement: &83775960 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '3.12'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *69148480
35
+ version_requirements: *83775960
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bundler
38
- requirement: &69304310 !ruby/object:Gem::Requirement
38
+ requirement: &83775530 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.0.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *69304310
46
+ version_requirements: *83775530
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: jeweler
49
- requirement: &69303660 !ruby/object:Gem::Requirement
49
+ requirement: &83775030 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.8.3
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *69303660
57
+ version_requirements: *83775030
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: simplecov
60
- requirement: &69303140 !ruby/object:Gem::Requirement
60
+ requirement: &83774490 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *69303140
68
+ version_requirements: *83774490
69
69
  description: siply general-porpuse game server
70
70
  email: nobody@nowhere.com
71
71
  executables: []
@@ -83,6 +83,7 @@ files:
83
83
  - VERSION
84
84
  - game-server.gemspec
85
85
  - lib/base_listner.rb
86
+ - lib/client.rb
86
87
  - lib/daemon_logger.rb
87
88
  - lib/game_error.rb
88
89
  - lib/game_server.rb
@@ -108,7 +109,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
108
109
  version: '0'
109
110
  segments:
110
111
  - 0
111
- hash: -115063473
112
+ hash: -349265923
112
113
  required_rubygems_version: !ruby/object:Gem::Requirement
113
114
  none: false
114
115
  requirements: