Version 0.2.2
From VbGORE Visual Basic Online RPG Engine
Contents |
[edit] Downloads
All downloads contain the same files, just using different compression methods.
Non-EXE users must download the Libraries Files at the bottom!
*.EXE - Self-installing file (10.63 MB)
*.ZIP - Compressed with WinZip (11.22 MB)
*.RAR - Compressed with WinRAR (9.17 MB)
*.7z - Compressed with 7Zip (9.29 MB)
Libraries Files (Not required for EXE users) (0.84 MB)
[edit] Release Notes
Released On December 27, 2006
Although I question the stability of this version, it should have a great improvement on the server-side speed and reduction of packet sizes. The key parts of this release is the new socket, GORESOCK, which is based off the old socket, SOX, along with the support for the multiple languages and skins, both which can be changed through the client's chat box by typing /skin or /language.
[edit] Change Log
Change - Client display screen source rect: The source rectangle for the client display has been set to a predefined value (a screen by 800x600) to make it harder to gain advantage by hacking the client to a higher resolution (thus displaying more).
Add - Map editor tile preview scrolling: It is a cheap hack at an add, and scrolls wierd unless you have all Grh indexes used consecutively, but it works.
Fix - Socket buffer size: Added in the soxSO_RCVBUF and soxSO_SNDBUF values to match that of the buffer size, since just setting Socket.SetBuffer doesn't set these values (SetBuffer is the actual buffer size sent to the Send and Recieve functions).
Fix - Spells / Skills: Fixed up some redudant and messy code in the spells and skills.
Change - Spell / skill costs: Changed all the spells / skills to use SP / MP and a reasonable amount of it.
Remove - Send route ToMapButIndex: Removed the sending route ToMapButIndex since it is no longer needed.
Change - Character movement (part 2): Character movement has been changed, with the help of the previous character movement change, to only update movement that takes place in the PC area. Before, if a character moved, the whole map would have to know about it, which could end up being a lot of bandwidth for a single movement. Now only those PCs in the PC area will be notified of movement. This is made possible since the X, Y and Direction of the character is sent during a movement routine so the previous position doesn't have to be known.
Add - Send route ToPCAreaButIndex: Added the server sending route ToPCAreaButIndex, which sends to everyone in the PC index's area but the PC index itself. Will be used for updating the movement position of a user character.
Change - Character movement: Character movement has been changed again. This time, every time a character moves, their new X, new Y, and direction they are heading is sent. This allows the client to correct the old X/Y position based off the opposite of the direction if needed, then moves them in the right direction. A character should never have to "jump" to the correct space more then one tile. For the user that the client is controlling, only the new X and Y is sent every time they move to ensure they are on the right tile according to the server. This should fix any "off tile" problems for all the characters.
Fix - Bandwidth calculator: Fixed the bandwidth calculator to accurately reflect that being used by the socket. Note that this does not include ACKs or lost packets.
Fix - Server Send Buffer: Made the server send buffer not require the last copymemory before sending the buffer to the socket. Helps increase performance a bit since that first byte doesn't have to be dealt with and that copymemory performance on the entire buffer isn't done. A buffer size variable is also used instead of getting the UBound() every time, which should be a lot faster.
Add - Language redirection: Added an optional redirection for language files, so you can redirect multiple phrases to the same language. For example, for Spanish, you could use "espanol", "spanish" and "es". You can also redirect to redirections, so "es" can redirect to "spanish" which redirects to "espanol". This is considered poor practice, though, and recommended you do not write your language files in this manner, but is there in case of small oversights.
Add - Command /lang: Added "/lang" which will change the language used to the one specified as long as the language exists, then saves it in the user's config.
Add - Language files: Added the language file translations to the project. Thanks to the vbGORE members for the translations!
Change - Default skin chat screen position: Default skin's chat screen, along with any skin using the default skin as a base, starts right above the quick bar instead of in the middle of the screen.
Add - Command /skin: Added the "/skin" command to the client which allows users to change their skin while in-game. Only changes if the skin exists, and automatically saves the config afterwords.
Remove - Weapon offset: Removed the weapon offset value since it was a pretty useless thing to have seeing how the weapons are designed to fit only one body. To be able to fit the weapon on another body, it'd have to be the same format, just on a different X/Y axis, which I see no point of unless you're doing horrible size scaling.
Add - Attack sound: Added attack sound for PC and NPC attacking. Nothing special, but shows how to use it on a general basis.
Add - Server sound 3d: Server can now tell the client to play 3D sounds.
Fix - Server sound: Fixed the server telling the client to play a sound routine.
Add - Position updater: Added a percentage variable that states the chance you have to update a character's position (PC or NPC) when they move so the position isn't off on the clients.
Fix - Map editor map info: Fixed the map editor's map info from not working correctly. Accedently had MapNum instead of Map as the value. MapNum specified the file index in which the map was being loaded, while Map specified the map being loaded.
Add - D3D Init states: Added more flags for Direct3D to try to init with for those akward devices. Can't do any more harm if we init with odd flags then if we don't init at all... at least I hope so!
Remove - Server packet splitting: Removed the packet splitting routine in the server since the socket will automatically packets exceeding the MTU size for us.
Update - GORESOCK: GORESOCK was split into two parts, GORESOCK full and GORESOCK micro. GORESOCK full offers the most, from larger sending sizes (for files and such) and more events to easier keep track of flowing data, and is obviously intended for the updater client / server. GORESOCK micro is designed to run very fast and very quiet, with as little overhead as possible. Both of them are very fast, faster then what SOX was, but the micro version also reduces the packet size from a long (4 bytes) to an integer (2 bytes) which means 2 bytes off of not every packet sent, but ever send call. Even though there will most likely be never more then 1 send call per packet with the vbGORE server or multiple packets per send call (large packets, like with the updater), this still means that every packet is just 2 bytes smaller, which means faster extracting / sending, and more importantly, less bandwidth.
Remove - Packet flooder tool: Removed the packet flooder tool - it has served its use already, so no need to include it in any new versions.
Add - GORESOCK support: GORESOCK support added to the client, server, update client, and update server.
Add - GORESOCK: Finished GORESOCK, which is a much faster, more compact, optimized version of Sox aimed towards how vbGORE handles things.
Change - Encryption module: The packet encryption support from the encryption module has been removed, and a spot has been reserved in GORESOCK for the encryption directly into the socket control.
Fix - Nagling: Turned off Nagling correctly - made the mistake of turning it off only for the client, and the listen port - didn't think to turn it off for the data sending ports.
Add - Thrall / Dethrall: GM commands that can summon and remove summoned creatures. Can summon as many as you want at a time. Thralled creatures do not get saved on the maps during map saves, and do not respawn.
Fix - Server map saving: Removed the map saving from the routine for saving while the server is running (no need to waste time saving a few items on the ground and moved NPCs). Also fixed the routine to make sure NPCs that are not alive to be saved.




