Skip to content

Releases: festivaldev/Paradise

2.1.0-beta1

31 Aug 16:56
Compare
Choose a tag to compare
2.1.0-beta1 Pre-release
Pre-release

It's been six months already since the last release of Paradise, and while some of you may have thought this project was dead again, we've been working hard on the next big update to Paradise!

This update, dubbed <insert creative name here>, bumps the version to 2.1 and brings a huge amount of features and quite a lot of security fixes. Please give a warm welcome to @dcrime, who helped a lot with identifying potential exploits, game-breaking bugs, testing new features and, perhaps the biggest of them all, single-handedly reverse engineering uberdaemon and uberheartbeat (more on that topic later on). Also, big shoutout to the members of our Discord server who contributed to this update with their suggestions and bug reports! This release is also the first to feature user-friendly installers for both the Client Runtime and the Server, based on Nullsoft's NSIS. No more manual file copying (unless, of course, you want to), just install and you're ready to go! Uninstalling the Paradise Client Runtime even restores the patches made to the UberStrike client, so you can easily switch between different server projects if you like (though verifying the game files through Steam is always recommended).

Because there are quite a lot of breaking changes, we're publishing this update as a beta release for everyone to test before it's going live. If you're interested in participating in the beta, please consider joining our Discord server and checking out the #beta-discussions forums, in which you'll find everything you need to get started.

Since the changelog for 2.1 is way too long for GitHub, please see the full changelog here.

2.0.2

05 Feb 15:08
Compare
Choose a tag to compare

Fear not, it's the first Paradise update of 2023. While rather small in changes, it's no less important than previous updates.

We've cleaned up some code, added links to GitHub and Discord to the global UI ribbon, and added the ability to directly join games using a connection URL, like sharing your game's link in a group chat.
The Web Services now provides monitoring data, such as players in a lobby or currently running games, but there's no client to actually use this data (we're working on it).

Paradise now also has its own official Discord server, which you can join here: https://discord.gg/5PSspzWTCJ
We're currently in the process of building a community for everyone to enjoy. Share your game results, your favorite memes or find new and old friends alike. We can't wait for your contributions!

Paradise UberStrike Discord Server

Changelog

Client

  • Players can now share a game's link for other players to directly join their game (using uberstrike://connect/{IP}:{Port}/{GameID}).
  • Added a "Report Issue" button to the global UI ribbon, which will take you right to the GitHub issues page, as well as a "Discord" button to join the official Paradise Discord Server.
  • Reduced the number of error messages showing on screen if the Web Services cannot be reached. The game will now no longer try to log in to your account if it can't connect to the Web Services to authenticate itself.
  • Hooking code has been cleaned up. Still no real performance improvement here, but it'll look even cleaner than before.

Realtime

  • Improved handling of spectators in Team Elimination
  • Switched to randomized Game Room IDs instead of sequential IDs in order to make it harder to guess a room's ID.
  • Removed skin color from serialization. It's not actively used in the game anyway, so we just assume #FFFFFF all the time.
  • When a player's health is reduced, it's now limited to the remaining health.
  • Realtime applications now feature monitoring by providing public data to the Web server. A web client to actually use this data is currently being worked on.
  • Due to difficulties with logging to separate files, log files have been merged yet again.
  • Fixed an error while logging errors (what a coincidence) that prevented players from creating a new game.

Web Services

  • The HTTP server used by the Web Services has been replaced with a much more sophisticated, yet easier to use solution. If you have ever used Node.js & Express, you'll feel right at home.
  • The Web Services tray application now doesn't empty existing log files anymore.

2.0.1

31 Oct 16:45
2a2fd0e
Compare
Choose a tag to compare

This small update fixes various sniper rifles not having a proper scope (we might have missed those when updating the shop at some point) and also adds the missing PhotonServer.config file that is required to run your own Paradise server.

Thank you to @AzisPT for providing the updated Shop.json (#4) and making us aware about the missing PhotonServer.config file!

As the client has not been updated in this release, Client v2.0.0 can be used with Server v2.0.1.

2.0

01 Oct 14:44
Compare
Choose a tag to compare
2.0

After way too much waiting, the Update 2.0 (dubbed the "New Eden" update) has finally arrived. This update is basically a complete rework of every Paradise component, originating from what was supposed to be "just" Update 1.1.
The project was technically restarted from scratch, and every file has been checked for optimizations before being added to the project again. This way, most of the bugs have been fixed already.

As for the why: One of our last internal tests of Update 1.1 brought up many flaws, starting with the fact that a third player could not even join an ongoing game, to the scoreboard not correctly updating and just displaying negative scores... the list of existing issues was very long, so we took the time to optimize every single existing feature, and also add new features down the line.

This update finally brings back Team Elimination to UberStrike! Available in UberStrike up until the migration to Steam, it was never brought back to life by Cmune when the game was officially shut down in 2016.
We've also brought back the classic "UberZone" map, and at the same time replaced the existing "missing" maps with the builds from UberKill as our custom builds also had quite a few issues, such as missing shaders and other graphical glitches.

For server owners, while there are some new exciting features such as new commands (usually referred to as "cheats"), this update brings a range of breaking changes. We've tried to document them as good as possible in the changelog, and the Wiki will be updated soon to reflect these changes.

Anyways, we hope you, either as a player or a server owner, enjoy these new features as much as we do! As always, if you have any problem, feel free to open an issue, and we'll do our best to help you.

Note: Changes marked [DEBUG] are not available to regular players. They may require running a debug build of Paradise or a higher access level.

Changelog

Client

Click to expand
  • Fixed remotely emitted quick items not appearing for clients which don't have that item in their current loadout.
  • Fixed the "Kills/Rounds Remaining" string sometimes getting stuck at "STARTS IN" after a match has started.
  • Restored missing announcer lines, such as "Double Kill" or "You have taken the lead". Cmune in their infinite wisdom added 500/1000/2000 seconds of delay when these sounds played while it (probably) should have been milliseconds instead.
  • Disabled "player lead"/"kills left" audio clips playing outside of MatchRunning state.
  • Replaced Spaceport Alpha and Space City with builds from UberKill (and also added UberZone). Thank you to the UberKill development team, and whoever brought the maps to the current UberStrike version. Previous builds were hand crafted by me (@SniperGER), but there were quite a few issues with lighting and shaders - and these maps just work as intended.
  • Custom maps are now correctly cached after being "downloaded" (even though the file being used is already in the game's local files). This was a remainder of custom map development to forcefully disable file caching.
  • Improved automatic update mechanism:
    • Updates should now no longer fail to install due to files in use by other processes.
    • Updates can now be universal (for all platforms) or platform specific (win32, darwin32).
    • Downloaded update files are now deleted when the game is started.
    • Updates can now include files marked for removal.
    • Clients will now periodically check for updates when returning to the main menu after 60 minutes.
    • Staff members (SeniorQA or higher) can now choose to ignore an available update.
  • Switched to logging using log4net, and reduced overall logging (unless you're running a debug build, which has the full logging enabled).
  • Fixed game modifier labels (eg. "Low Gravity", "Quick Switching") being too short.
  • Runtime hooks now use a single Harmony instance. This may or may not improve startup performance, but it sure looks more optimized.
  • Web Service name prefix/suffix can now be renamed on client side in case the server uses a different naming scheme. Read more about the client configuration in the wiki.
  • Revamped video settings panel
    • Players can now select every common resolution independently from their screen size (if their screen supports it). This is mainly used in development if working on the project via RDP as Remote Desktop doesn't seem to report any other resolution than the current.
    • Fullscreen can now be activated by ticking a checkbox instead of selecting the last available resolution (whose idea was that anyways?)
  • Switched to UTC dates/times when communicating with the server. Otherwise local dates/times are used.
  • [DEBUG] Current Steam ID is now saved in a dedicated text file instead of the registry to improve running multiple UberStrike instances.
  • [DEBUG] Disabled client-side clan creation requirements (only works when used with a debug build of Web Services).
  • [DEBUG] Developers can now override the server-provided CommServer or add additional GameServers without changing them in the Web Services data files.
  • [DEBUG] Added audio debug tab to ingame console

Web Services

Click to expand

NOTE: "Support" for legacy UberStrike versions has been temporarily removed and will be added again in the future.

  • Added new moderation commands:
    • ban/unban allows to (permanently) ban or unban a player by Cmid, including a reason for banning them
    • points and credits let you manage a players wallet by either adding or removing Points or Credits respectively
    • Using inventory you can add or remove items (gear, weapons etc.) to or from a player's inventory, and also set their loadout
    • op increases a players access level (eg. Moderator), while deop demotes them to a regular player again
    • With xp you can in- or decrease a player's current experience points
  • Services now store their data and configuration in their own specific directory in ServiceData
    • ApplicationData.json (used for CommServer/GameServer definitions) has been renamed to PhotonServers.json
  • Added update channels (stable and beta) and a PowerShell script to build update definition files. You can read more about setting up updates in the wiki.
  • Implemented missing ingame functionality
    • Added clan member management, including Last Online Time, promoting/demoting members and transferring clan ownership to another clan member
    • The ingame moderation panels can now set and unset moderation flags, aswell as clearing moderation flags for players in bulk
  • Added map descriptions for Spaceport Alpha, Space City and UberZone. Thanks again to @jonaszadach for providing the descriptions!
  • Added basic support for items requiring a minimum level (items in the Paradise shop will not require a minimum level at any time)
  • Rolled back a few gear/weapon statistics to the previous shop data. The Golden Gun is finally that OP weapon we used to know. Also miniguns can finally rotate again by holding the right mouse button.
  • Corrected default item IDs as seen in the game's code.
  • Dates used inside the server environment are now UTC only
  • Players are now being moderated using flags (muted, ghosted, banned etc)
  • Depositing credits using DepositCredits no longer deposits points, that's what DepositPoints is used for
  • Empty point/credit deposits (value = 0) will now no longer be added to a player's wallet and transaction history
  • Improved clan creation error handling, including error messages for not meeting clan requirements
  • Added profanity filter
    • Applies to account creation, name changes and "mails"/inbox messages
  • If no hostname is specified in Paradise.Settings.WebServices.xml, Web Service will now use localhost as a hostname
  • Added management console to tray application
  • Web Services can now receive console commands sent through net.pipe://localhost/NewParadise.WebServices
  • Merged Web Services applications into a single executable. Depending on the launch flag, a different application is started:
  • Replaced the web service clients by accessing the LiteDB database directly.
  • Reduced overall logging (unless you're running a debug build of Paradise.WebServices or Paradise.Realtime, which have the full logging enabled).
Flag Description
-c Run Web Services in Console mode. Allows you to enter commands to manage your server, but will also shut down once the console window is closed.
--svc Starts the Web Services as a Windows service, which runs in the background (with auto-restart) and can only accept commands through net.pipe://localhost/NewParadise.WebServices.
--gui Starts the tray application used to manage the Web Services (needs the Web Services already running)
  • Web Services can now be installed or uninstalled as a Windows service by running Paradise.WebServices.exe with the --install or --uninstall flag respectively
  • Added HTTP support to the File Server as HTTPS was hardcoded for some reason.
  • Improved File Server error handling by actually sending the correct HTTP status code in the response

CommServer/GameServer

Click to expand
  • Team Elimination is finally here! Eliminate all players on the opposite team to win a round. Clients can now create Team Elimination matches without being presented an "Unsupported Gamemode" error.
  • Fixed a potential deadlock when a player respawns for the third time (yes, it's that specific).
  • Reduced the amount of packets sent to clients
    • Player position updates are only sent if at least one player has moved, and only for those that have moved
      ...
Read more

1.0.2

20 Jul 11:59
Compare
Choose a tag to compare

This update adds a lot of missing items to the shop and an option for clients to disable automatic updates. Also, Space City has finally returned!

Changelog

  • [Server] Updated the shop to include basically every missing item. This, however, resets purchased items because of different item IDs, so players will need to "buy" them again.
  • [Server] Custom maps are now controlled via CustomMaps.json in the Web Services instead of being hardcoded into the client runtime.
  • [Client] Automatic updates can now be disabled if needed. You'll get a warning when starting the game, however, reminding you that you may need the latest updates to be able to play.
  • [Client] Added Space City to the game files, bringing back yet another classic map.

Known Issues

  • Creating a Team Elimination game results in a "Unsupported game mode" message, as this game mode hasn't been completed yet,
  • Some administrative functions may not yet work correctly. This shouldn't affect standard gameplay however.
  • Missing effects on Spaceport Alpha due to incomplete shaders.

v1.0.1

20 Jun 06:38
Compare
Choose a tag to compare

This is a maintenance release for Paradise, fixing a few minor issues for self-hosted servers (the client is unaffected).

Changelog

  • [Server] Fixed the default server browser data (Paradise.WebServices\Data\ApplicationData.json). It's now showing servers running on localhost by default instead of the main Paradise server.
  • [Server] Added a script to copy the required assemblies, so you don't have to copy them by hand.
  • [Server] Cleaned up a few log files that were accidentally left behind.

Known Issues

  • Creating a Team Elimination game results in a "Unsupported game mode" message, as this game mode hasn't been completed yet,
  • Some administrative functions may not yet work correctly. This shouldn't affect standard gameplay however.
  • Missing effects on Spaceport Alpha due to incomplete shaders.
  • Space City is missing from game files.

v1.0.0

01 Jun 06:11
Compare
Choose a tag to compare

This is the release version of Paradise.

Changelog

  • Initial release

Known Issues

  • Creating a Team Elimination game results in a "Unsupported game mode" message, as this game mode hasn't been completed yet,
  • Some administrative functions may not yet work correctly. This shouldn't affect standard gameplay however.
  • Missing effects on Spaceport Alpha due to incomplete shaders.
  • Space City is missing from game files.