tedserv 0.0.1c → 0.0.1

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: 4fd129cd99ea9211fe1c145cee2183c9c049e8be
4
- data.tar.gz: f6779b941b922863dd5bb15db696323510e02469
3
+ metadata.gz: 145ff88a5e9148245a8ea3e21a3e37015184ce65
4
+ data.tar.gz: d6fdff564bd56a6738c6460c83947642bd012462
5
5
  SHA512:
6
- metadata.gz: 5e84c333625547bfe5d4de569e90d53835b300c863b08da729f14da383733938a75e7fc91d75c6cb9411362bb6b8cbb1bf9817329c088b55319ed96075735ab3
7
- data.tar.gz: 16e83d2fca5ee8efb3ddc3c2224255c9381122af65e56a7825bc84d9817af3b2e20c2fbbbb6c5e6a2f4409fb6e5f0b9967ab5c82f4b4e6084a6aaffefbd8ceff
6
+ metadata.gz: c242e30020bfd42714aaa07d8c03fc4604151876d3c6f92923bd0c2034a1b782c632d5b9c74e1871151598de6acddbf4b1df7cab7fcadb2bfc4dce3f67d85eb0
7
+ data.tar.gz: f6bc1f364c239d4df6df23c7d8f0891aa13e45bec22cbefd7ca5464540d4d44dfa788a5c490602db7c8ba6281e531ce10e4c571d85f39d01aba9bd1f8aab1885
data/bin/tedserver CHANGED
@@ -1,38 +1,59 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require "tedserv"
4
-
5
- @f = TED::Config.new(".tedconfig.txt")
4
+ require "socket"
6
5
 
7
6
  def config
7
+ f = TED::Config.new("config.txt")
8
8
  puts "TED Server config tool"
9
9
  loop{
10
- puts "Current: #{@f.getData['port']}"
10
+ puts "Current: #{f.getIP}:#{f.getPort}"
11
11
  puts "------------"
12
- puts "1. Port"
12
+ puts "1. IP"
13
+ puts "2. Port"
14
+ puts "3. Valid Links"
13
15
  puts "99. Exit"
14
16
  o = STDIN.gets.chomp.to_i
15
17
  if o == 1
18
+ puts "What's the new IP?"
19
+ ip = STDIN.gets.chomp
20
+ f.changeIP(ip)
21
+ elsif o == 2
16
22
  puts "What's the new port?"
17
23
  p = STDIN.gets.chomp.to_i
18
- @f.changePort(p)
24
+ f.changePort(p)
25
+ elsif o == 3
26
+ pust "Links change"
19
27
  else
20
28
  break
21
29
  end
22
30
  }
31
+ f.close
23
32
  end
24
33
 
25
34
  def runServer
26
- s = TED::Server.new(@f.getData['port'])
35
+ f = TED::Config.new("config.txt")
36
+ ip = f.getIP
37
+ port = f.getPort
38
+ f.close
39
+ s = TED::Server.new(ip, port)
27
40
  end
28
41
 
29
42
  def runClient
30
- c = TED::Client.new
43
+ f = TED::Config.new("config.txt")
44
+ ip = f.getIP
45
+ port = f.getPort
46
+ f.close
47
+ #s = TCPSocket.new(ip, port)
48
+ #c = TED::Client.new(s)
31
49
  end
32
50
 
33
51
  def runMini
34
- @f = TED::Config.new(".config.txt")
35
- #s = TED::Serverlet.new(ip, port)
52
+ f = TED::Config.new("config.txt")
53
+ ip = f.getIP
54
+ port = f.getPort
55
+ f.close
56
+ s = TED::Serverlet.new(ip, port+1)
36
57
  end
37
58
 
38
59
 
data/lib/config.rb CHANGED
@@ -1,33 +1,47 @@
1
- require "yaml"
2
-
3
1
  class TED::Config
4
2
 
5
3
  def initialize(path)
6
- @path = path
7
- exist = File.file?(@path)
4
+ exist = File.file?(path)
8
5
  if exist
9
- file = File.open(@path, "r")
10
- @data = YAML.load(file.read)
11
- file.close
6
+ File.open(path,"r").each do |l|
7
+ p = l.split(",")
8
+ @ip = p[0]
9
+ @port = p[1].to_i
10
+ end
11
+ @file = File.open(path, "w+")
12
12
  else
13
- @data = {"port"=>"9017"}
13
+ @file = File.open(path, "a+")
14
+ @ip = "localhost"
15
+ @port = 3030
14
16
  save
15
17
  end
16
18
  end
17
-
19
+
18
20
  def save
19
- file = File.open(@path, "w")
20
- file.puts(@data.to_yaml)
21
- file.close
21
+ @file.rewind
22
+ @file.puts("#{@ip},#{@port}")
22
23
  end
23
-
24
- def changePort(pt="9017")
25
- @data["port"]=pt.to_s
26
- puts "Chnaged config port to: #{pt}"
24
+
25
+ def changePort(port)
26
+ @port=port.to_i
27
27
  save
28
28
  end
29
-
30
- def getData
31
- return @data
29
+
30
+ def changeIP(ip)
31
+ @ip=ip
32
+ save
33
+ end
34
+
35
+ def getIP
36
+ return @ip
37
+ end
38
+
39
+ def getPort
40
+ return @port.to_i
41
+ end
42
+
43
+ def close
44
+ save
45
+ @file.close
32
46
  end
33
47
  end
data/lib/server.rb CHANGED
@@ -1,34 +1,44 @@
1
1
  require "socket"
2
- require "proto"
2
+ #require "colorize"
3
3
 
4
4
  class TED::Server
5
- def initialize(port=9017)
6
- @port = port
7
- log("Server ready @ #{port}")
8
- run()
5
+
6
+ def initialize(ip, port)
7
+ @server = TCPServer.open(ip, port)
8
+ @minSer = TCPServer.open(ip, port + 1)
9
+ @minis = []
10
+ @users = []
11
+ @mute = Mutex.new
12
+ log("Server ready @ #{ip}:#{port}")
13
+ log("Listening for serverlets on #{port+1}")
14
+ begin
15
+ run
16
+ rescue Exception => e
17
+ puts "Shutting down!"
18
+ end
9
19
  end
10
20
 
11
21
  def run
12
- Socket.udp_server_loop(@port) do |msg, from|
13
- proto = TED::Protocol.new
14
- proto.read(msg)
15
-
16
- puts proto.cmd
17
-
18
- if proto.kind == TED::Protocol.server
19
-
20
- elsif proto.kind == TED::Protocol.node
21
-
22
- elsif proto.kind == TED::Protocol.player
23
-
24
- else
25
- log("Unknow user type from: #{ip}")
26
- from.reply("Not too sure what you are?")
27
- end
28
- end
22
+ loop { ## Forever loop
23
+ Thread.new(@minSer.accept) do | mini |
24
+
25
+ end
26
+ }.join
29
27
  end
30
28
 
31
29
  def log(msg)
32
30
  puts "[#{Time.now.strftime('%H:%M:%S')}]: #{msg}"
33
31
  end
32
+
33
+ def isNameTaken(name)
34
+ return false if @users.count == 0
35
+ @mute.synchonize do
36
+ @users.each do |conUser|
37
+ if conUser.name == name
38
+ return true
39
+ end
40
+ end
41
+ return false
42
+ end
43
+ end
34
44
  end
data/lib/tedserv.rb CHANGED
@@ -3,7 +3,6 @@ class TED
3
3
  end
4
4
 
5
5
  require 'config'
6
- require 'proto'
7
- require 'client'
6
+ require 'user'
8
7
  require 'server'
9
8
  require 'serverlet'
data/lib/user.rb ADDED
@@ -0,0 +1,6 @@
1
+ class TED::User
2
+ def initialize(name, socket)
3
+ @name = name
4
+ @socket = socket
5
+ end
6
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tedserv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1c
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elliot Lee-Cerrino
@@ -9,21 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2017-08-24 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bindata
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '='
18
- - !ruby/object:Gem::Version
19
- version: 2.4.0
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '='
25
- - !ruby/object:Gem::Version
26
- version: 2.4.0
12
+ dependencies: []
27
13
  description: All in one TED gem
28
14
  email: "@h2n0"
29
15
  executables:
@@ -32,12 +18,11 @@ extensions: []
32
18
  extra_rdoc_files: []
33
19
  files:
34
20
  - bin/tedserver
35
- - lib/client.rb
36
21
  - lib/config.rb
37
- - lib/proto.rb
38
22
  - lib/server.rb
39
23
  - lib/serverlet.rb
40
24
  - lib/tedserv.rb
25
+ - lib/user.rb
41
26
  homepage:
42
27
  licenses:
43
28
  - MIT
@@ -53,9 +38,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
53
38
  version: '0'
54
39
  required_rubygems_version: !ruby/object:Gem::Requirement
55
40
  requirements:
56
- - - ">"
41
+ - - ">="
57
42
  - !ruby/object:Gem::Version
58
- version: 1.3.1
43
+ version: '0'
59
44
  requirements: []
60
45
  rubyforge_project:
61
46
  rubygems_version: 2.5.1
data/lib/client.rb DELETED
@@ -1,35 +0,0 @@
1
- require "socket"
2
- require "proto"
3
-
4
- class TED::Client
5
- def initialize
6
- @s = UDPSocket.new
7
- puts "Welcome to TED Client"
8
- mainLobby
9
- end
10
-
11
- def mainLobby
12
- loop{
13
- p = sendAndGet("LIST", TED::Protocol.hubIp, TED::Protocol.hubPort)
14
- puts p.cmd
15
- }
16
- end
17
-
18
- def inGame
19
-
20
- end
21
-
22
- def getMeaning(msg)
23
- return TED::Protocol.read(msg)
24
- end
25
-
26
- def sendAndGet(msg, ip, port)
27
- p = TED::Protocol.new
28
- p.kind = TED::Protocol.player
29
- p.cmd = msg
30
-
31
- @s.send(p.to_binary_s, 0, ip, port)
32
- rep, from = @s.recvfrom(20)
33
- return getMeaning(rep)
34
- end
35
- end
data/lib/proto.rb DELETED
@@ -1,37 +0,0 @@
1
- require "bindata"
2
- class TED::Protocol < BinData::Record
3
-
4
- @@player = 0x00
5
- @@node = 0x01
6
- @@hub = 0x10
7
- @@other = 0x11
8
- @@hubIp = "46.101.76.160"
9
- @@hubPort = 9017
10
-
11
- stringz :cmd
12
- bit2 :kind
13
-
14
- def self.player
15
- @@player
16
- end
17
-
18
- def self.node
19
- @@node
20
- end
21
-
22
- def self.hub
23
- @@hub
24
- end
25
-
26
- def self.other
27
- @@other
28
- end
29
-
30
- def self.hubIp
31
- @@hubIp
32
- end
33
-
34
- def self.hubPort
35
- @@hubPort
36
- end
37
- end