From: <Cir...@cs...> - 2005-03-19 04:04:27
|
OK Folks, in a few minutes I will commit the changes which switch us = from HawkNL to RakNet. Here is the list of substantial changes and = issues which have come in (and which I can still remember): 1. We now use UDP - no TCP packets whatsoever. 2. You will need to update your build.cfg and SConstruct - there are = only minor changes to replace 'hawknl' with 'raknet'. 3. When testing with server/client on a single computer, we seem to = still have a similar problem as with HawkNL - chiefly that the client = hangs while updating and needs to be restarted. With HawkNL there were = 2 issues: overfull transmit buffer and static receive buffer in the = Once net layer. Since the problem recurrs in RakNet, it must be an = overfull transmit buffer issue. Someone has to look at a sensible = scheme for buffering data to be transmitted; remember that we can't = buffer indefinitely or else each newly logged in client may have all the = update files queued for transmission, which is very bad news. So, it's = not such a simple problem and we will need a universal solution because = the net can be incredibly busy when there are many players logged on. 4. I almost forgot: You need 'RakNet' from = http://www.rakkarsoft.com/#Downloads 5. The login code is currently broken (because the definition of 'conn' = has changed) and I have removed conn->username/charname. This will = remain broken until mafm fixes it. 6. The way packets are managed has changed dramatically. Before, we had = an ocNetWorkManager* conn, and we could call various methods from = 'conn'. Well, 'conn' is now a 'PlayerID' (struct from RakNet) and all = requests to transmit messages go to the ocServerNetworkMgr or = ocClientNetworkMgr objects. Also, when you send a packet it may now be = 'reliable' and in the future may also have a 'timestamp' - although at = the moment I have no idea what we would use a timestamp for. Do not expect to be able to connect to the public server using this new = code until mafm updates the server. - pinniped |