I'm here to announce a new version of MatchMaker2 and MatchMaster
(For those who don't know what are these apps, here is original topic for the previous version: http://arcanum.game-alive.com/forums/vi ... p?f=5&t=20)
I've been working on it for a
Here is a list of new features (Version 0.3c):
-MatchMaker is now (partially) bound to Lua, so the behaviour of the MatchMaker can be heavily modified.
-Lua script will be automatically reloaded when you change the file. No need to restart server.
-Introduced server commands. Players can now send textual queries to the server by simply typing a commands while playing.
-Handling some global/server events, such as player movement, join/quit events, chat messages and so on.
-Fixed several bugs in multiplayer. Most serious bug with blocking sockets was fixed as well, performance of the server should increase. Second most serious bug was when player suddenly disconnected because of game crash or task kill, the server sometimes didn't handled this and it would loop trying to send packets to that player until some new player connects to the server to that player slot.
-Overriding AutoEquip.mes (for now only changing amount of gold is possible).
-Automatic version check. It will popup fancy message box when it detects that the new version is available. It will always check that you have the most recent version of MatchMaker.
-News and Community buttons are now working (it will open your web browser with this website in it).
-Message Of The Day (MOTD). It will later contains news related to Arcanum and MatchMaker.
-It can now be used with both Arcanum and OpenArcanum.
-MatchMaster is now standalone app, and it's easy to integrate to any website through iframes or images.
-Much more statistics. Now you will also know: How many players are online, including their names, locations and total gameplay time; which map/module is current, version and language of the game, etc.
-Optimized, almost completely rewritten code. Safer and much cleaner as well.
-Profanity word filter for server names. (I had to implement this because someone were using vulgar and racist names for their servers. )
New features for Version 0.3d:
-You can now speak after you die. No need to send private messages to players near you that you need help from.
-Public/private server detection. It will now tell you if other player will be able to connect to your game or not. If you have firewall enabled or you don't have a public IP address and MatchMaster couldn't reach your game, it will announce to you that your game is Private.
-Object spawning. You can now summon weapons, ammo, armors, NPCs and other objects using a single command!
-Object generators. Similar to object spawning command, but it's also possible to set spawn interval, radius, etc. Useful for filling areas with enemies, such as monsters, critters and other npcs.
-Reading Message (.mes) files. Now you can easily get lines from .mes files using Lua. Useful for retrieving description of prototypes.
-Packet compression. Uses zlib/FastLZ to compress all packets. Saves a lot of bandwidth as Arcanum uses large packets (e.g. >1KB for single dialog line!).
-You can also display some stats about the server, for now total recv/send bandwidth and total bandwidth saved by packet compression.
-More advanced stats + Graphs. (Easy, even the old MatchMaker were collecting enough stats to make fancy graphs.)
-Separate stat images/iframes for given server. (Should be easy.)
-Player registration and login. (Easy, currently MatchMaker is skipping the login dialog.)
-Teleportation using a WorldMap.
-Bind spell, skill and other stuff related functions to Lua.
Code: Select all
Version 0.4f: -Game now uses high-resolution counters instead of timeGetTime function. Animations and scrolling should be a bit smoother. (It is, IMHO) -Increased size of sector cache from 16 to 128 sectors. This dramatically increases loading speed and transition between game levels and maps, and when moving though vast areas. You'll notice it, believe me. -Players are now properly disconnected when they forcefully leave the game (i.e. because ALT + F4, task kill via manager, game crash, etc.) -It's now possible to save and load the game (with a few gotchas). -Also you can move with the camera from Lua. Should be useful. -It's now possible to change global vars and flags and story state from Lua. -It's possible to scale any objects. Works both on client and server side synchronously. -New commands: gload, gsave, gget, gset -Added a *few* new functions: mmGetObjectName, mmGetObjectScaling, mmSetObjectScaling, mmCritterSetStatValue, mmCritterGetSkillValue, mmCritterSetSkillValue, mmCritterGetSkillTraining, mmCritterSetSkillTraining, mmCritterCalculateSkillChance, mmCritterLookForObject, mmCritterRest, mmCritterDamageFatigue, mmCritterIsConcealed, mmCritterSetConceal, mmGetCritterMaxFatigue, mmSetCritterFatigue, mmSetCritterHealth, mmCritterBuySpell, mmCritterAddTechDiscipline, mmCritterAdjustReaction, mmCritterWalkToLocation, mmCritterRunToLocation, mmNPCProcessAI, mmMoveObject, mmGetGlobal, mmSetGlobal, mmSaveGame, mmLoadGame, mmGetMouseLocation. mmGetCameraLocation, mmSetCameraLocation, mmMoveCamera, mmCalculateDirection, mmCalculateDistance, mmObjectCalculateDirection, mmObjectCalculateDistance Misc: mmFindFiles, mmCopyFile, mmCreateDir. Version 0.4g: -Few bugfixes -Automatic player resurrection now works -New functions: mmIsCritterDead, mmResurrectCritter
Simply extract the downloaded .zip archive to the game directory and confirm to replace existing files.
To send a command to the server, simply press the Enter key and first type a "." (i.e. dot/stop) and then name of the command and after it the parameters.
List of commands:
Code: Select all
. - Single dot. Prints result of previous command. Useful if you are a slow reader. .. - Two dots. Repeats previous command. Really useful. .mmver - Prints the version of MatchMaker that the server is running one .mynick - Prints your nickname. This is shorter version of your player's name .myid - Prints your ID. This is actually GUID and is (or should be) unique to every player .mypos - Prints your location/position in the map .myip - Prints your IP address .mystats - Not working .sstart - Prints starting location, where every player shows up when they connect to the server .sname - Prints server/game name .smod - Prints name of current module .sstats - Prints some stats about the server, such as total bandwidth .admin - Prints name of the admin .summon - Spawns a specified or random mobile object at given location (See the Lua script for all options) .ammo - Spawns specified amount of specified ammo type near your location .gold - Same as .ammo, but with gold .generator- Adds a object generator to current location. Similar to .summon command, but you can also set respawn time, radius and other variables. Useful for spawning enemies. .set .get - Sets and gets player-specific variables (NOT WORKING) .shout - Sends a message to the player. This message will appear above the player's head. It's also possible to set text color and duration. .quest - Gives you a random quest (NOT FULLY WORKING) .joke - Tells you a short joke .motd - Prints Message Of The Day .ginfo - Prints some information about the game (Friendly fire, auto join, etc.) .register - Registers the player (NOT WORKING) .login - (NOT WORKING) .help - (NOT WORKING) .lua - Executes player's own script (NOT WORKING)
That's it. Here is a preview of new MatchMaker:
You can see a live preview at our main webpage: http://arcanum.game-alive.com/
Here are those images with current stats:
You can put them in your signature at any forums (e.g. ArcanumClub or Terra-Arcanum) or you can simply put them on your website.
Any suggestions and ideas would be greatly appreciated.
2012/07/25 - Updated.