Author Topic: RakNet 2.46 Released  (Read 24217 times)

Rak'kar

  • Administrator
  • Hero Member
  • *****
  • Posts: 6895
  • Karma: 291
    • View Profile
    • RakNet
RakNet 2.46 Released
« on: March 18, 2006, 06:43:57 PM »
I added a new feature: CommandConsoleServer and CommandConsoleClient.
With this system you can either use regular Telnet or you can use secured RakNet (A secured RakNet console client is in CommandConsoleClient) to remotely administrate your games, to download logs, or anything else you might want to do using a console parser.  This is useful if your game server is located off-site and you want to be able to login and do things such as kick players, restart the server, or change the password.

Minor tweaks to the data replicator system:
IsObjectListPushComplete
The class factory has been changed and now has access to the creation send and request data.

I tested this build on
Dev-CPP
Code:Blocks
Visual Studio 2003
Cygwin with G++
A certain unnamed console :)

Hopefully it will compile properly for everyone.  There are no bug fixes and no bugs have been reported for a week so this build is probably stable.
« Last Edit: March 18, 2006, 06:45:29 PM by Rak'kar »

wrt

  • Full Member
  • ***
  • Posts: 139
  • Karma: 0
    • View Profile
Re: RakNet 2.46 Released
« Reply #1 on: March 19, 2006, 06:34:53 AM »
sorry to spoil you the fun, but it doesn't compile on linux ...

first problem is that stricmp seams to be microsoft only, you wouldn't get into problems on windows with gcc since it uses ms headers at least partly. but on other plattforms you need to replace it with strcasecmp

a simple
Code: [Select]
#ifndef _WIN32
#    define stricmp strcasecmp
#endif 

will propably do, you need it in ConsoleServer.cpp, LogCommandParser.cpp and CommandParserInterface.cpp

second problem:
Code: [Select]
SimpleTCPServer.cpp: In function `void* UpdateTCPServerLoop(void*)':
SimpleTCPServer.cpp:318: error: invalid conversion from `int*' to `socklen_t*'
SimpleTCPServer.cpp:318: error:   initializing argument 3 of `int accept(int, sockaddr*, socklen_t*)'

that's all for now  ;)
I guess you already know, but telnet is like the most insecure thing you could have ... unless you tunnel it using ssh that is  ;D what i'm trying to say is that you better put a warning somewhere.

as a last question, do you plan to do more tcp stuff in future?

cu wrt

Rak'kar

  • Administrator
  • Hero Member
  • *****
  • Posts: 6895
  • Karma: 291
    • View Profile
    • RakNet
Re: RakNet 2.46 Released
« Reply #2 on: March 19, 2006, 11:01:28 AM »
Thanks, I fixed that and reuploaded.  I have no TCP based features planned but why do you ask?

wrt

  • Full Member
  • ***
  • Posts: 139
  • Karma: 0
    • View Profile
Re: RakNet 2.46 Released
« Reply #3 on: March 19, 2006, 01:20:47 PM »
kewl.
 i was just wondering because of the telnet thing. on the one hand it would be kewl to be able to write ftp and http stuff with raknet, because there i already know the api, but on the other hand there are already many good and heavily used tcp libraries out there and it would take time away from the core development. So i don't know if i'd really want it ;)

Silver Hawk

  • Full Member
  • ***
  • Posts: 105
  • Karma: 0
    • View Profile
    • Crestock
Re: RakNet 2.46 Released
« Reply #4 on: March 19, 2006, 02:49:47 PM »
Code:Blocks

Ehm...Code::Blocks.

Thanks for the new version :).

Best wishes,
Michael

wrt

  • Full Member
  • ***
  • Posts: 139
  • Karma: 0
    • View Profile
Re: RakNet 2.46 Released
« Reply #5 on: March 19, 2006, 03:44:11 PM »
the second problem is still there, would this be correct?

newSock = accept(sts->listenSocket, (sockaddr*)&sockAddr, (socklen_t*)&sockAddrSize);

Valen

  • Full Member
  • ***
  • Posts: 117
  • Karma: 5
    • View Profile
Re: RakNet 2.46 Released
« Reply #6 on: March 19, 2006, 07:29:04 PM »
I'm getting this error from VC 7.0:
RakPeer.cpp(55): error C2248: 'RakPeer::PlayerIDAndIndex' : cannot access protected struct declared in class 'RakPeer'

Apparently VC 7.0 has a bug that doesn't allow friend functions to use non-publically declared structs. Just make PlayerIDAndIndex struct declaration public to make the library build under VC 7.0.

Rak'kar

  • Administrator
  • Hero Member
  • *****
  • Posts: 6895
  • Karma: 291
    • View Profile
    • RakNet
Re: RakNet 2.46 Released
« Reply #7 on: March 19, 2006, 08:23:40 PM »
This should be fixed now.

Valen

  • Full Member
  • ***
  • Posts: 117
  • Karma: 5
    • View Profile
Re: RakNet 2.46 Released
« Reply #8 on: March 20, 2006, 12:21:44 AM »
Yep, works now. Thanks!  8)

eric

  • Not-a-newbie
  • *
  • Posts: 4
  • Karma: 0
    • View Profile
Re: RakNet 2.46 Released
« Reply #9 on: March 20, 2006, 12:40:53 PM »
I'm using Visual C++ 6.0, trying to incorporate RakNet 2.46 into an existing project.

I'm getting the compile errors associated with templates in BitStream.h that was mentioned in a previous build. 

I've been poking around the forum and the readme files for a few hours and I as yet haven't found any mention of what might need to be done to use 2.46 with VC6.  There is a note in the readme in 2.46 that directs VC6 users to the project file in the root directory, but the BitStream source files in that project file are the same as in the Source directory, and I can't get past the template errors in these.

Do I need to use different BitStream source files, or is there perhaps some compiler switch that wants adjusting?  Presently I've just copied the Source/BitStream.h and .cpp files into my project directory.


Thanks,
Eric

Rak'kar

  • Administrator
  • Hero Member
  • *****
  • Posts: 6895
  • Karma: 291
    • View Profile
    • RakNet
Re: RakNet 2.46 Released
« Reply #10 on: March 20, 2006, 01:39:08 PM »
What are the errors?  There's a #define flag at the bottom of the class definition you can try.

eric

  • Not-a-newbie
  • *
  • Posts: 4
  • Karma: 0
    • View Profile
Re: RakNet 2.46 Released
« Reply #11 on: March 20, 2006, 11:46:57 PM »
The errors are of the sort:

c:\projects\plato\platoraknet\bitstream.h(491) : error C2511: 'Write' : overloaded member function 'void (bool)' not found in 'RakNet::BitStream'
        c:\projects\plato\platoraknet\bitstream.h(43) : see declaration of 'BitStream'

Error occurs while header is compiling.  This is the line of the header that generates the above error:

   template <>
      inline void BitStream::Write(bool var)

I get similar errors for WriteDelta, WriteCompressed, WriteCompressedDelta, ReadCompressed, and ReadCompressedDelta.


Defining _MSC_VER does seem to work to get the BitStream.h to compile!  (It makes math.h fail, but I'm sure I can sort that out.)

Thanks,
Eric

eric

  • Not-a-newbie
  • *
  • Posts: 4
  • Karma: 0
    • View Profile
Re: RakNet 2.46 Released
« Reply #12 on: March 21, 2006, 11:47:26 AM »
Still having problems... I confirmed that _MSC_VER is defined at 1200 during the compile of BitStream.h, yet I'm still getting the same C2511 error.  (When I redefined _MSC_VER before I simply moved the problem to a different header file.)


Rak'kar

  • Administrator
  • Hero Member
  • *****
  • Posts: 6895
  • Karma: 291
    • View Profile
    • RakNet
Re: RakNet 2.46 Released
« Reply #13 on: March 21, 2006, 01:31:35 PM »
Can you message me on ICQ?  4639385.  I'll get this worked out for you.

eric

  • Not-a-newbie
  • *
  • Posts: 4
  • Karma: 0
    • View Profile
Re: RakNet 2.46 Released
« Reply #14 on: March 21, 2006, 03:15:48 PM »
Can you message me on ICQ?  4639385.  I'll get this worked out for you.

I'm booked the rest of today.  Tomorrow (Wedn) afternoon?