TCP Server


#1

Hi, i’m going to code a game server, i’m new in ruby an would
like to
hear some advice about it. I mean, good practices in server programming
and what i have to take into account like security issues.

Thanks, and excuse my english.


#2

On 30 Nov 2008, at 02:00, Sergio Aristizábal wrote:

Hi, i’m going to code a game server, i’m new in ruby an would
like to
hear some advice about it. I mean, good practices in server
programming
and what i have to take into account like security issues.

Thanks, and excuse my english.

Hi Sergio,

Welcome to the colourful world of Ruby :slight_smile:

I’ve a couple of presentations at http://slides.games-with-brains.net/
that feature Ruby network code with both TCP and UDP that you may find
helpful. There’s also some simple crypto stuff in there if you want to
look into securing traffic on the wire, but that’s a huge subject and
you’ll definitely want to do further research.

More generally to write a secure server you want to make sure you
limit access to your application’s database in a clear and consistent
manner, and ensure that client identity is always clearly established.
There are also some excellent fuzzing libraries that are worth
exploring.

Depending on how busy you think your game server will be I’d also
recommend looking into EventMachine, an event-driven Ruby network
library that makes it very easy to write scalable network servers.

Ellie

Eleanor McHugh
Games With Brains
http://slides.games-with-brains.net

raise ArgumentError unless @reality.responds_to? :reason


#3

On 30 Nov 2008, at 21:22, Michal S. wrote:

2008/11/30 Eleanor McHugh removed_email_address@domain.invalid:


raise ArgumentError unless @reality.responds_to? :reason

ArgumentError (ArgumentError)

:slight_smile:

Ellie

Being and Doing are merely useful abstractions for the time-dependent
asymmetry of phase space.


#4

2008/11/30 Eleanor McHugh removed_email_address@domain.invalid:


raise ArgumentError unless @reality.responds_to? :reason

ArgumentError (ArgumentError)


#5

or maybe its REALITY ?

2008/12/2 Jeff M. removed_email_address@domain.invalid


#6

Eleanor McHugh wrote:

On 30 Nov 2008, at 21:22, Michal S. wrote:

2008/11/30 Eleanor McHugh removed_email_address@domain.invalid:


raise ArgumentError unless @reality.responds_to? :reason

ArgumentError (ArgumentError)

:slight_smile:

Ellie

Being and Doing are merely useful abstractions for the time-dependent
asymmetry of phase space.

By which you mean $reality ?

djief


#7

On 2 Dec 2008, at 21:09, Louis-Philippe wrote:

ArgumentError (ArgumentError)
By which you mean $reality ?
As I reserve the right to reject your reality and substitute my own
it’s clearly an instance variable :wink:

Ellie

Eleanor McHugh
Games With Brains
http://slides.games-with-brains.net

raise ArgumentError unless @reality.responds_to? :reason