(Revision 147) Test release
Since the 2nd of August I've been busy with rewriting the whole mod. Now it has a solid foundation and code base which was lacking previously. The initial development of vaultmp dates back to the 11th of September 2010 (https://www.brickster.net/index_2.html). I never planned to seriously develop it for such a long time. It was meant as a somewhat more professional school project. As I found out that the interest in such a mod is huge, I continued working on it, but it wasn't properly designed to be able to support advanced features such as syncing of NPCs or inventories. This is the reason I basically started from the ground up.
Revision 145 is the first "release" of this (with release I refer to the fact that I provide pre-compiled binaries; the mod is open-source and was accessible all the time). It is for testing only. In comparison to revision 134, it has even less game features, due to the fact that I spent most time on coding the behind-the-scenes systems, not real multiplayer functionality. Before I start re-implementing old and many new features, I'd like to parallel make sure that users can find bugs (which are existent in new systems by nature). This is why I release revision 145.
What you cannot expect from this release (in comparison to revision 134):
- Inventory syncing
- Syncing of player death event
- Proper cell syncing (while working, adjacent exterior cells are still treated as interior cells basically)
What is different to previous releases:
- vaultserver command line options are gone; use vaultserver.ini configuration instead
- PAWN has been updated to the most recent version; vaultmp's implementation now uses 64bit cells
What is new with this release:
- The Elder Scrolls: Oblivion support
- You can now use vaultmp.ini configuration file to manually add "favourite" servers to the client
- The client / server now supports mods and file downloading; vaultmp will automatically set up the mod load order specified by the server (which overrides your local mod loading settings!)
- C++ scripting
- Timers (both in PAWN and C++)
- Some scripting callbacks and functions (the more interesting functions are not there yet)
vaultmp now features a clear structure of game models. The concept behind this is mostly important to scripters. I will provide an introduction to that in another post. There is a lot of stuff to document, I hope I can write some wiki articles the next days. Here is the full list of changes:
Quote:
Originally Posted by Revision 134 - 145
Bethesda API framework (API class)
The Elder Scrolls: Oblivion support
Re-design of Pipe class
Interface (based on the old command execution layer)
Value container class, Lockable extension class
Network layer (NetworkClient, NetworkServer, PacketTypes)
Exception system (VaultException class)
Re-design of vaultmp.dll to work with the API
PAWN update to version 4.0.4548
Revised scripting architecture: now supporting n-amount of C++ / PAWN scripts
Mod support (no registering of new game content yet) and "Synchronize" server feature
vaultserver.ini configuration file
Reorganized class hierarchy
GameFactory class
Container class, Object class, Item class
vaultmp.ini configuration file
Rewritten game synchronization code
CriticalSection usage, controlled through GameFactory
Injecting code changed to support Steam versions properly
Resolved CriticalSection deadlocks
Native C++ / PAWN timers running in the main thread
PAWN cell size is now 64bit (use packed strings!)
Scripting callbacks: OnActorValueChange, OnActorValueChange, OnActorBaseValueChange, OnActorStateChange
Scripting functions: CreateTimer, KillTimer, GetPlayerPos, GetPlayerAngle, GetPlayerValue, GetPlayerBaseValue, GetPlayerCell, ValueToString, AxisToString, AnimToString
VaultFunctor class
Unix server compatibility (not fully tested)
Some changes to scripting callbacks
Re: (Revision 145) Test release
Re: (Revision 145) Test release
Thanks man!!! You've given us SOMETHING to put our grubby paws on lol. Lord knows we've been yearning for it.
Re: (Revision 145) Test release
I <3 Recylcer Thank you For this update
Re: (Revision 145) Test release
64 bits :O
You should use the old version of pawn, it uses 32. But I heard using the char array will make arrays 8 bit.
Very nice recycler!
Is there SetTimerForPlayer(const timername[], interval, bool:repeating, parameters[], {Float: ...:})?
Re: (Revision 145) Test release
Thanks Recycler, I will test and report all bugs soon.
Re: (Revision 145) Test release
aaahhhhhhh :D, sorry the jizz was cold on my leg
Re: (Revision 145) Test release
Re: (Revision 145) Test release
Well... I tested it some minutes with my friend, and I don't know if it's our problem but there is still "sync-teleport". We have some troubles installing it, but we finally run the game properly. When you die now, you respawn.
I can't tell too much, because this is a revision for prepare the mod for future features (npc sync and other gameplay things).
Re: (Revision 145) Test release
Is there any sort of bug report thread or anything like that?, Me and my friend have been disconnection as we connect to the server, so if there's a place i can post a log or something it could be helpful.