Jump to content

  • Log In with Google      Sign In   
  • Create Account


I would like some advices


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
3 replies to this topic

#1 shocobenn   Members   -  Reputation: 273

Like
0Likes
Like

Posted 15 October 2013 - 07:20 PM

Hi ! Like a lot of people here i'm working on a game and I would like to add it a multiplayer part smile.png.

 

I looked the populars C++ libraries (Raknet, Ice, POCO) and the only one who is attracting me is eNet, because the 3 others have a lot of features that I don't want to use / I don't understand.

 

But I think that i'm going to make my own winsock server, so i'm going to ask some questions to see if I won't have to reinvent the wheel by doing this.

 

  1. What kinds of things should I add to a basic winsock server to have a minimum of security / efficiency?
  2. Is it really usefull to have such complete libraries like Ice, POCO and raknet for a game ?
  3. Is eNet already effective for a game or will I have to add security / packet management things ?

Thanks for your help.


Edited by shocobenn, 16 October 2013 - 09:47 AM.


Sponsor:

#2 hplus0603   Moderators   -  Reputation: 4984

Like
0Likes
Like

Posted 16 October 2013 - 01:42 PM

What kinds of things should I add to a basic winsock server to have a minimum of security / efficiency?


Security:
- Protection against protocol errors (avoid buffer overflows etc.)
- Proper authentication.
- Proper authorization.

Efficiency:
- Proper use of OS-level primitives, like I/O completion ports, or kpoll/epoll/whatever.

Is it really usefull to have such complete libraries like Ice, POCO and raknet for a game ?


Yes, in the same way it's useful to have a sound playback/effects engine instead of building your own sound system, and a graphics/rendering engine, instead of building your own rendering system.

Is eNet already effective for a game or will I have to add security / packet management things ?


eNet manages packets and does not, in itself, have buffer overflow vulnerabilities.

You will have to add authentication and authorization yourself, and you will have to make sure that your use of eNet does not introduce security vulnerabilities in your higher-level code.
enum Bool { True, False, FileNotFound };

#3 shocobenn   Members   -  Reputation: 273

Like
0Likes
Like

Posted 17 October 2013 - 08:25 AM

Thank you :) Then, I think  i'll use Boost.asio because I can easily find tutorials for this one.

 

Ice looks weird with its string commands...

And POCO slides are not really helpfull to start... If someone know which slide will teach me how to setup a stream / datagram connection, please say which one, I only see HTTP requests.



#4 shocobenn   Members   -  Reputation: 273

Like
0Likes
Like

Posted 07 November 2013 - 06:48 PM

Hi ! After a little work with Boost.asio here is what I can say about starting with it :

 

If you want to learn and practice low level networking :

 

You should use boost, which allow you to do basic networking stuff without care about the threads stuff. The tutorials and samples are really good to start and you'll be able to understand faster other libraries.

 

If you don't want to learn low level networking (You need to decode the header... the body...) and want to quickly setup your network :

 

Use raknet. You can find it on github here, and if you're an indie and your budget is less than 100K, raknet will stay free for you. You will be able to quickly make a chat with the RPC functions (that's magical !).


Edited by shocobenn, 07 November 2013 - 06:52 PM.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS