Version 0.4.2

From VbGORE Visual Basic Online RPG Engine

Contents


[edit] Downloads

All downloads contain the same files, just using different compression methods.

*.EXE - Self-installing file (11.86 MB)

*.ZIP - Compressed with WinZip (12.76 MB)

*.RAR - Compressed with WinRAR (10.46 MB)

*.7z - Compressed with 7Zip (10.45 MB)

Libraries Files (Not required for EXE users) (1.00 MB)

[edit] Release Notes

Released on March 24, 2007

Quite a lot has changed in this version. The updater was completely rewritten and now works a hell of a lot better, which was a good half a days work. There is also the grouping system that was added, which was another days worth of work. Not a whole lot of fixes in comparison to other releases, mostly just new things. Quite a plentiful release, especially since I took about 3 days off from working on it. ;)

[edit] Change Log

Fix - Updating empty files: Fixed the updater from crashing when trying to compress empty files.

Add - Updater connection limiter: Added the connection limiter that the game server has to the update server.

Add - Update server compression file creation: Added a little feature to the update server that stores the MD5 hashes of the compressed files (the hash is of the uncompressed version). This allows the updater to skip compressing files that are already compressed so it will only be slow on the compression the first time it is run.

Fix - Update client download speed: Fixed the update client to show the correct download speed in KB/sec.

Change - Update system: Completely rewrote the whole entire update system that allows for a lot less stress on the server and a lot better speeds. Also added a bunch of little features the other was lacking. The new system works in the following manner:

- Server creates overall update list and MD5 hashes for each list, list & hashes is compressed and stored in memory
- Client connects to the server and downloads the list off the server
- Client decompresses the list, checks which files it needs to update
- For every file the client needs to update, it sends a request to the server
- After each download, the MD5 hash is compared with the one from the server to verify file contents

This also allows for the download percentage to be changed on an overall basis, not a per-file basis, so you can easily see how close it is to finish downloading. The idea for this change came from Chase's server taking a long time to go through the updater even when the client had all the files, so thanks Chase!

Fix - Updater file clearing: Fixed the updater to clear any old files before writing to the file, which seemed to be the source of the problem of a file downloading over and over again. The fix also is in the compression module.

Add - Chat filtering: Added a function that you can wrap around any string that will filter a predefined list of words. By default, it is only used in the public chat and on the client.

Change - Group recycling: Changed the group recycling to keep track of how many empty groups there is so it doesn't look through every group index in the hope to find an empty one unless it knows there will be an empty one.

Add - /groupinfo command: Added a command that allows you to get a list of all the users in your group along with their levels.

Change - Client map loading: Changed the client map loading to use the data buffer to load the maps instead of constantly grabbing from the map file. This makes the map loading over twice as fast, along with uses less disk reading so there'd be less of a speed impact if other programs are reading from the hard drive.

Fix - Grhs as integer: Fixed a bunch of references of grhs being integers to longs.

Add - Max connections per IP: Added a flag in the GOREsock module that defines how many connections you can have from a single IP address. This is for preventing people mass-connecting to a vbGORE server from a single computer and clogging up the socket or crashing the server. It can also be used for preventing multi-logging, but this is a quite frowned upon method of preventing multi-logging.

Change - ConnID: Changed the ConnID method to the user's index being the same as their socket index, and removing the ConnID. This allows for fast access of the user's socket index, since it is the same as their array index, which in most all cases, is already known. Thanks to Drake7707 for the idea!

Fix - Grouping system: Fixed the grouping system so it actually works (as far as I can tell).

Fix - User_NameToIndex: Fixed a small typo bug in the function that prevented the index from ever returning, whether the user existed or not.

Change - Group color: Changed the group color text to a much prettier, easier to read aqua blue.

Add - Money banking: Added banking for money so you can now store money in the bank. The user must be near a banking NPC (have them in their screen) to use the banking commands.

Add - User_NearBankNPC: Added a function that tells if a given user is near a banking NPC so bank actions can be performed.

Add - MaxNPCs: Added a MaxNPCs constant that will check and make sure the NPC index returned is not > then MaxNPCs. This is to prevent overflows when having too many NPCs (2 ^ 15, or the positive spectrum of a signed integer).

Fix - Server_LegalPos: Fixed the routine to work correctly with blocked in all direction tiles combined with no-attack. Problem was it was checking for the tile = BlockedAll only, so when a ranged attack block was on it (OR 128) it would throw off the checks.

Change - Server_LegalPos: Changed the routine to work a bit faster and handle already legal positions better. Also boosted up the searching range from 3 to 5, so theres a 6x6 instead of 3x3 area that will be searched for the next closest legal position. I figured this would be safe to do since it is in good practice to block off any tiles that shouldn't be walked on anyways, and not just to block off the borders around the tiles (the mini-map also requires you to do this, too).

Fix - Engine_Sound_Play: The routine will now check that the buffer is valid before using it.

Add - Group chat: Added group chat so you can talk to your group members by typing /g <message>.

Add - ToGroup send path: Added a ToGroup send path that sends to everyone in a group.

Add - Send data ToGroupButIndex: Added a new send path, which sends to everyone in a group but the index passed.

Add - Group chat color: Added a dark purple for group chat and group-related information.

Add - Group / party system: Added a group system that allows users to create their own group, send group invitations, join groups, leave groups, and share exp and gold gained among users part of their group. When a user logs off, they are no longer part of the group. Whoever is first in the group list is marked as the leader, and are the only ones who can invite people into the group.

Fix - Update server file count: Update server will detect if theres just 1 file now.

Fix - Map bound sounds: Fixed the map bound sounds from staying when moving between maps.

Personal tools