Re: VGOEmu Progress
Posted: Fri Aug 08, 2014 2:42 pm
Patch notes from the last week or so.
Enjoy
[pre:1kgc0nk3]Further fixed the issue with clients reconnecting too quickly
Revamped ack logic in udp code, this should greatly increase outgoing packet transmission speed
Fixed a bug where characters would sometimes not be removed from the world list
If a player attempts to log into world while their account already has a client, all other clients
with their account id will be kicked
camp command robustness improvement (blocks consecutive camp requests)
Support for camp command: Added empty handler for OP_ClientLFGSearch.
+ Added the following UnrealTypes:
+ Quat - used for boats
+ VGShipState - used for boats
+ ResourceLookup, Sound, StaticMesh - used for looking up indexes in asset files
+ Reorganized Unreal classes into separate files
+ UnrealActor.h contains only the UnrealActor class now!
+ Renamed _3dsList.h/cpp to SGO3ds.h/cpp
+ Renamed PPOList.h/cpp to PPO.h/cpp
+ Added Vehicle/Ship classes and initial replication functionality.
NOTE: there is no way to show a vehicle in game right now unless you hardcode it in ChunkServer.
+ Added Mover classes
+ They load from the mover database table based on the chunk
+ Updated Makefile to include new/renamed files.
+ Added UnrealFile classes to allow for dynamic loading of files from the database
+ All files properties are loaded into memory on WorldServer start from the unreal_files table so
they can be queried faster when needed.
+ ChunkServer changes
+ SendZoneFiles function no longer has hardcoded file values. The files are determined dynamically
based on the resources needed.
+ Setting the PC Model number based off the race id. However, this doesn't appear to be working
fully 100% yet as there seems to be a disconnect between login server raceid and Unreal raceid.
+ Currently sending all movers in the chunk to the client. We probably want to limit it based on
proximity like NPC's.
Fixed a crash with destructing packet structs and one caused by trying to zone to an invalid chunk
Fixed the disconnect packet
Fixed a bug that could cause a client to hang while loading a zone
Player ghosts should now be properly removed from a zone
Reconnecting quickly after exiting world should no longer cause waiting on world data...
to appear on character select
Speed should no longer reset after changing chunks
The global variable UnrealActor::next_unique_id is now atomic
Fragmented packets being sent from the client are now read correctly
Fixed a crash relating to reading control bitstreams
Ports will now be available for reuse after a chunk shuts down[/pre:1kgc0nk3]
Enjoy
[pre:1kgc0nk3]Further fixed the issue with clients reconnecting too quickly
Revamped ack logic in udp code, this should greatly increase outgoing packet transmission speed
Fixed a bug where characters would sometimes not be removed from the world list
If a player attempts to log into world while their account already has a client, all other clients
with their account id will be kicked
camp command robustness improvement (blocks consecutive camp requests)
Support for camp command: Added empty handler for OP_ClientLFGSearch.
+ Added the following UnrealTypes:
+ Quat - used for boats
+ VGShipState - used for boats
+ ResourceLookup, Sound, StaticMesh - used for looking up indexes in asset files
+ Reorganized Unreal classes into separate files
+ UnrealActor.h contains only the UnrealActor class now!
+ Renamed _3dsList.h/cpp to SGO3ds.h/cpp
+ Renamed PPOList.h/cpp to PPO.h/cpp
+ Added Vehicle/Ship classes and initial replication functionality.
NOTE: there is no way to show a vehicle in game right now unless you hardcode it in ChunkServer.
+ Added Mover classes
+ They load from the mover database table based on the chunk
+ Updated Makefile to include new/renamed files.
+ Added UnrealFile classes to allow for dynamic loading of files from the database
+ All files properties are loaded into memory on WorldServer start from the unreal_files table so
they can be queried faster when needed.
+ ChunkServer changes
+ SendZoneFiles function no longer has hardcoded file values. The files are determined dynamically
based on the resources needed.
+ Setting the PC Model number based off the race id. However, this doesn't appear to be working
fully 100% yet as there seems to be a disconnect between login server raceid and Unreal raceid.
+ Currently sending all movers in the chunk to the client. We probably want to limit it based on
proximity like NPC's.
Fixed a crash with destructing packet structs and one caused by trying to zone to an invalid chunk
Fixed the disconnect packet
Fixed a bug that could cause a client to hang while loading a zone
Player ghosts should now be properly removed from a zone
Reconnecting quickly after exiting world should no longer cause waiting on world data...
to appear on character select
Speed should no longer reset after changing chunks
The global variable UnrealActor::next_unique_id is now atomic
Fragmented packets being sent from the client are now read correctly
Fixed a crash relating to reading control bitstreams
Ports will now be available for reuse after a chunk shuts down[/pre:1kgc0nk3]