Draft:Network

Final Fantasy XI, being an online game, relies on networking to communicate with servers and Worlds to be able to play the game.
==Network Status==
Network status is represented in the upper right of the screen by two arrows, a percentage, an S (send) and an R (receive) number. As your connection stays solid to the World, you will have green flowing arrows and 100%. If packets begin to drop or there is no response from the server (sometimes called R0), the number percentage will begin to fall and the arrows tint towards red until it hits 0%, to which the client program determines you are disconnected and boots you back to either the title screen or another error which sends you back to PlayOnline. Should you become disconnected and booted back, your character may stay logged in the place you left it for upwards of 30 seconds with a red PlayOnline dot, indicating to others the issue. You cannot log back into this character until this process completes and your character disappears.
==World==
Worlds, as far as those outside SquareEnix knows, are server clusters that serve the game client. They are physically in Shinjuku, Tokyo, Japan.
==Technical Details==
SquareEnix's subnet in Japan is 202.67.54.x, which handles authentication, search and the auction house. All other data is handled through a proxy service.
The client was originally built to be able to operate on Windows 98 PC or a Playstation 2, both running at least a v.90 recommendation dial-up modem (PS2 Details). The modem specification is limited to 8,000 baud downstream and 3,429 upstream, or around 56kbit/s down and 33.6kbits/s up in full duplex. The S and R numbers above translate to baud rate, and assuming everyone was running the PS2 version on a dial-up modem, the game was engineered to be limited to a maximum of around 3,000 baud duplex. This is the biggest contributor to lag in high-density areas, as the client is not engineered to handle too much data incoming at once, leading to an R3000 situation where commands are either delayed or dropped as the loopback from sending an action to getting the packet saying to execute the associated animation/whatever is being pushed through an extremely small pipe. In some cases of dropping the action may still execute, but none of the details sent to the client. There is currently no way to bypass this limit, as doing so would involve deconstructing and rebuilding the client and server network stacks, the latter of which is not accessible.
===Loading===
When a client loads into the game or changes zones, the resource pipeline (models, textures, etc.) largely has this happen immediately, but from a network perspective this takes much longer. Owing to the bandwidth limitation from before, this can make many features be delayed in the process (such as viewing inventory, communication and chat tools, as well as changing equipment) as not everything loads right away. In no particular order, upon login or zoning, the following information is obtained from the server:
* Current Inventory, including house slots and wardrobes
* Equipment
* Status of Linkshells
As this is cycled on every zone, if you own a lot of items and equipment, this can lead to massive delays to be able to do certain things. However, sending commands to interact with items once the "lights come on" is an option, even if you can't see your inventory.