Big Server-Client Update!
See boskee/Minecraft#70 for more info and discussion, and TODO's
Split world.py into world_server and world.py (for clientside)
Added client.py/server.py to hold packet related code for the Client and Server
Controllers: Disabled world loading, Moved seed generation to world_server.py
world.py: Added hide_sectors routine (once a second), hides away far chunks
Start Menu: Removed "New Game", renamed Continue to Connect
server: Implemented locking on sector generation
Now maintains a list of connected player handlers
Now catches client disconnects
client.py: Optimizations, better packet processing
Enabled Client-Server add_block and remove_block
world_server.remove_block: Removed mentions of playing sound
See boskee/Minecraft#70
Server: Fixed issues caused by missing launch options
Added Multiplayer Chat
Chat currently uses ip address as name, till we get a GUI username selector
Moved PacketReceiver creation to controllers.py since needs the controller
Moved CommandParser() from controllers.py to server.py
Client: Changed default ip address to my own, till we get a GUI method
Server: Changed listening address from 127.0.0.1
All packets: Changed usages of signed bytes ("b") to unsigned ("B")
world_server: Enabled content_update (grass spreading)
N: content_update runs in its own thread
N: When your server closes, Clients get returned to the main menu
N: When clients disconnect, Server sees a simple message instead of an error
N: Other players see connects and disconnects in chat
Moved world_server_lock to world_server.server_lock so its more accessible
Disabled sending empty chat lines
Added some more thread locking
Main Menu now has an IP Address box that Connect uses
Supports DNS or numerical IP's, with optional :port (defaults to 1486)
If the address is unreachable, you do return to the main menu
world.hide_sectors: Disabled while standing still
This function is pretty laggy still and needs redesigning. Possibly new thread?
Players now request their spawnpos from the server
Players also don't fall on connect, their world is paused initially
Replaced some socket.send with socket.sendall
Main Menu: Added button to launch the server
client.py: Fixed server being unable to disconnect clients
Server: Added commands "say", "help"
Let server console view player chat
TextWidget: Fixed initial text, added batch parameter
Added Client Username
Options Menu: Added username selector
client: Now sends username to server on connect
server: Now uses username instead of ip address when referring to a player
Inventories are now saved to the server
Added "save" command to server
Removed client references to saving, they aren't applicable anymore
ItemStack: Removed parameter/attribute "data". type.sub replaced it
Merge pull request #72 from Nebual/master

The Multiplayer Update