F1 Challenge 99 02 Setups
среда 24 октября admin 16
Jun 24, 2013. F1 Challenge 99-02 > Tutorials > Problem with changing AI setups. Full Version: Problem with changing AI setups. You're currently viewing a. Aug 4, 2013 - Download it test it and give me Feedback:) maybe we can do a Setup Pack for this Mod?:D or some other changes! F1 Challenge will never.
One of the most important aspects in F1 Challenge (F1C) that has been almost completely overhauled from F12K2 is the multiplayer code. In this short guide I would like to first describe the major differences between F12K2 and F1C netcode. I will then go over the multiplayer parameters in the plr file, explain what they mean and how to set them in order to unleash the full potential of F1C's new netcode. The main weakness of F12K2 netcode is the inefficient bandwidth usage of the server (the upload speed of the server).
For example, at a data rate of 12, a single player requires ~10Kbps (Kbit per second). If we run a session with 4 clients the server will send ~40Kbps (4*10) to each client. Hence, for a session of 4 clients at a data rate of 12 the server will send ~160Kbps (4x40). In general, the required bandwidth for a session is equal to the number of players squared multiplied by the bandwidth of a single client (10Kbps in our example). You can now see how quickly bandwidth runs out as the number of clients' increases. For example 4 clients requires ~160Kbps, if we now add 1 more client, we will need 250Kbps (5x5x10).
If we double the amount of clients from 4 to 8 the needed bandwidth will jump from 160Kbps to 640Kbps!! The second main problem in F12K2 netcode occurs when the load of the server exceeds its bandwidth. For example, when a server that has a 500Kbps upload speed host a session with 8 clients which require 640Kbps (at a data rate of 12). As a result, the whole session explodes, i.e. All the cars will badly warp and quality will drop significantly.
With the introduction of the throttling code in F1C, all of these problems are now in the past. The throttling code introduces a significant leap forward to the multiplayer experience, as it is much more advanced and smarterthan F12K2 code in many aspects. Among many improvements here are the most significant ones: a) The session will never explodethe code will always use the bandwidth available to the server and divide it into the clients. If there is not enough bandwidth to accommodate all of the clients at the defined data rate, the code will throttle down the data rate and reduce packet size to a value that is manageable by the server. In addition, if a client does not have enough bandwidth, the server will throttle down the amount of data sent to this particular client. This will enable players with sub-broadband connection to participate in larger sessions.
B) Efficient bandwidth management - there is really no need to render all of the cars at the same data rate (like in F12K2). For example, if there are 4 cars running on the other side of the track that you can't even see, F12K2 netcode will still render them at the full data rate taking away precious bandwidth for no real reason. The new code will throttle down the data rate based on the distance between your car and the remaining field. Thus, cars further away from you will be rendered at a lower data rate and therefore will consume much less bandwidth. How does all of this come to play in the real world? In our testing we were able to run a session with 10 players on a 300Kbps server with overall better quality than F12K2!! We don't think that 10 is the upper limit, but due to a limited number of available beta testers at that time, we could not try a larger number of players.
Furthermore, one of the clients was on a sub 56K modem connection!! Obviously he does not have enough bandwidth to transmit and receive data at high rates but it was certainly playable.
In F12K2 a client on 56K connection could only dream of participating in a 10 player session. One has to remember though, that since the session will never explodeas the number of clients increases, there is a tradeoff. Mysql static dll.