Skip to content

0.7.0

Choose a tag to compare

@Crypto137 Crypto137 released this 24 Sep 01:45

General

  • Overhauled game thread management, resulting in significant load balancing improvements in multiplayer scenarios.
    • The number of game threads can be configured using the new NumWorkerThreads setting in Config.ini. We recommend to set this value to be less or equal to the available number of logical CPUs.
  • Improved frame timing when running the server on Windows.
  • Implemented login queues:
    • Login queues can be configured using the new ServerCapacity and MaxLoginQueueClients settings in Config.ini.
    • The following settings have been removed: SimulateQueue, QueuePlaceInLine, and QueueNumberOfPlayersInLine.
  • Implemented Whitelist mode:
    • When enabled, only accounts that have been explicitly whitelisted can log into the game.
    • Whitelist mode can be enabled with the new UseWhitelist setting in Config.ini.
    • Accounts can be added to and removed from the whitelist using the new !whitelist and !unwhitelist commands.
  • Player data is now automatically saved when transferring between game instances.
  • Player data saving can now be disabled by setting EnablePersistence to false in Config.ini.
  • Improved the SQLite persistence layer:
    • The database now uses the WAL mode, resulting in increased concurrent performance. You may now see additional .shm and .wal files in the Data directory while the server is running.
    • Switched to using the SQLite backup API for creating automatic backups.
    • Automatic backups are now created asynchronously.
    • Migration scripts are now embedded in the MHServerEmu.DatabaseAccess.dll file. If you are upgrading from an older version of the server, the MHServerEmu\Data\SQLite folder is no longer needed and can be removed.
    • Optimized entity queries.
  • The ConfigOverride.ini file is now automatically created on server startup if it does not already exist.
  • Adjusted default network settings:
    • Increased the receive timeout from 30 to 60 seconds.
    • Changed the Frontend bind IP to 0.0.0.0 to simplify configuration for LAN play.
      • You still need to specify an accessible IP address in Config.ini and SiteConfig.xml to allow remote clients to connect to your server.
  • Made changes to the web API:
    • Removed performance metrics from the /ServerStatus endpoint.
    • Improved the html output of the /Metrics/Performance endpoint.
    • Added the /RegionReport endpoint.
  • Players can now kill their current hero using the new !player die command. This can be used if your hero or the encounter you are in gets stuck.
  • Improved the achievement system:
    • Implemented additional achievement tracking events, resulting in more achievements being earnable.
    • Fantastic Four related achievements are now earnable again.
    • Implemented overrides for the AchievementInfoMap.json file that function similar to Live Tuning and prototype patches.
    • Added an example AchievementInfoMap override that restores unreleased party achievements. This is disabled by default.
  • Implemented AI leashing.
  • Continued to incrementally improve optimization.

Social

  • Implemented Friend and Ignore lists.
  • Implemented parties.
  • Implemented the eGTV_PartyXPBonusPct Live Tuning variable.
  • Implemented reviving other players by interacting with them.
  • Implemented Tells (private chat messages).
    • By default, the text of Tells is not included in server logs. You can configure this using the new LogTells setting in Config.ini.
  • Server notifications are now logged with other chat messages when split logging is enabled.
  • Renamed Grouping config settings:
    • MotdPlayerName -> ServerName.
    • MotdPrestigeLevel -> ServerPrestigeLevel.

Regions

  • Overhauled region instancing:
    • Public regions are now processed independently from other regions, preventing lagging public regions from “dragging down” other regions with them.
    • Public regions now follow expiration and regeneration behaviors defined in the original game data.
    • There is now only a single instance of each hub region.
    • Players can now transfer between regions within the same game instance without doing a full reload. This is mostly a backend change that results in faster loading times in some cases (e.g. transferring between Danger Room levels).
    • Match regions (e.g. X-Defense, Holo-Sim, raids, etc.) are now treated as private regions. To play in these regions with other players you now need to invite them to your party.
    • Private story instances (e.g. The Raft) now reset when you swap to a different hero.
    • All regions now reset on prestige.
    • The following instancing related settings have been removed from Config.ini: GameInstanceCount, PlayerCountDivisor, RegionCleanupIntervalMS, and RegionUnvisitedThresholdMS.
  • Players now return to the last visited hub region on logout.
  • Bodysliding or using a “Travel to Base” portal now returns the player to the last visited hub region.
  • Player can now return from hubs to the last bodyslide location.
  • Added collision checking when entering a region to reduce overlap of players in the start location.
  • Revealed map now persists for up to 8 hours on logout.

Powers

  • Implemented additional power events:
    • DespawnTarget (used by Purifier commanders).
    • TeleportToPartyMember.
    • TeleportRegion (used for Surtur boss teleports in Muspelheim).
  • Implemented power specs.

Items

  • Implemented crafting.
  • Implemented runewords.
  • Implemented PetTech affixes.
  • Implemented item stack splitting.
  • Implemented remaining item interaction actions:
    • Learning crafting recipes.
    • Unlocking STASH tabs.
    • Team-up experience potion.
    • Opening a UI panel (e.g. Vibranium Ticket).
    • Unlocking emotes.
  • Updated the default store catalog:
    • Removed development only costumes.
    • Removed costumes that come from non-store sources (Fortune Cards, achievements, and default costumes).
    • Added appropriate prices for the remaining costumes that were excluded from the store by default (e.g. Fantastic Four costumes).
    • Added Fantastic Four heroes and their stash tabs.
      • The !unlock hero command has been removed because the heroes it was added to unlock are now available in the store.
  • Store bundle purchases have been disabled until the bundle feature works properly to prevent players from accidentally wasting G.
  • Increased the default G balance for new accounts from 5000 to 10000. This affects only accounts that log in for the first time after this change.
  • Replaced the LootDropWeightMultiplierOverride system with prototype patches.
  • The Eternity Splinter drop cooldown can now be adjusted using the new ESCooldownOverrideMinutes setting in Config.ini.
  • Eternity Splinters that drop at the same time can now be forced to drop as a single stack using the new CombineESStacks setting in Config.ini.
  • Separated the !player costume default subcommand into its own command, !player disablevu. The !player costume command is now available only to server admins, while !player disablevu is available to all players.
  • Loot boxes that use the ReplaceSelfLootTable action (e.g. S.H.I.E.L.D. Supply Drop) no longer overflow into the Delivery Box inventory.
  • Added a new !item cleardeliverybox command that can be used to destroy all items in the Delivery Box inventory.
  • Heroes can no longer gain full experience value from orbs that were spawned for other heroes.
  • Added a patch to revert the 99.9% artifact drop chance reduction introduced by Gazillion along with S.H.I.E.L.D. Supply Boosts.

Bug Fixes

  • Fixed a crash when invoking leaderboard commands from the in-game chat.
  • Fixed a crash when trying to reload leaderboard schedule with the leaderboard system disabled.
  • Fixed an issue where the MaxResetCount setting allowed leaderboards to run one more time than intended.
  • Fixed an issue where leaderboard entries were written to the database repeatedly even if there were no changes.
  • Fixed a major memory leak that occurred when players disconnected if the leaderboard system was turned on.
  • Fixed a minor memory leak caused by ItemResolverContext not being cleared when ItemResolver instances were returned to a pool.
  • Fixed a minor memory leak that occurred when entity instances failed to enter world due to their initial coordinates being outside of region bounds.
  • Fixed a minor memory leak that occurred when interacting with items that use eval-based validation.
  • Fixed an issue that prevented loot tables from spawning props.
  • Fixed an issue where loot drops that are supposed to roll only on specific days of the week would always be eligible for rolling.
  • Fixed an issue that prevented raid encounters from resetting after reaching the player death limit.
  • Fixed an issue that prevented additional power spec pages from being unlockable.
  • Fixed an issue where loot tables that use the PickWeightTryAll picking method were not using the weights specified in choice node prototypes.
  • Fixed an issue where that caused the inner part of Loki’s Energy Ring in phase 2 to damage players. This also makes safe spots during the Surtur fight in Muspelheim work more consistently.
  • Fixed a crash related to spawners when shutting down game instances.
  • Fixed an issue that caused heroes with larger collision bounds to sometimes get stuck in the terrain when switching from a smaller hero.
  • Fixed an issue that prevented items that replace themselves with loot table output from rolling items with level requirements.
  • Fixed an issue that prevented controlled entities with dramatic entrance animations from being affected by hidden passive powers when loading into a region.