EarlyQ (Early Queue)

$7.99

Sold by: turner

EarlyQ – Optimizes loading times by allowing players to prematurely join the rust server before its started.

Description

About EarlyQ

EarlyQ allows players to join the server prematurely while it is still starting.
By default, the server needs to fully start (which takes ~5 min, depending on map/specs) and after all that time its finally time for players to join, but they still have to wait warming prefabs & download the world.

EarlyQ optimizes the process of players joining & startup of the server and minimizes wait times because its splitting the work in parallel.

 

Features

  • Allows players to load faster by initiating Asset Warmup as they are waiting for the server to start up!
  • The world data is sent to the player as soon as its ready, so when the server is ready they can join right away without waiting!
  • The steam server is started only after ~10 seconds when you launch the rust server! This means players can see it in the global server list even while it is loading!
  • Increases your server uptime metrics!
  • Custom messages that show the current loading progress of the server!
  • You can customize said messages

 

Demo (the demo is older & does not start loading the world after its ready, so I’m waiting a bit longer in the video. This is already implemented in EarlyQ)

 

Custom message

If you need to customize the message your players get when waiting for the server, you have to specify the message as a launch option on the server

 

+earlyq.loading_msg - The loading message shown when the server is loading and the client is waiting for the server to load the world
+earlyq.loading_icon - The icon shown

+earlyq.ready_msg - The loading message shown when the client finishes loading fully and is waiting for the server
+earlyq.ready_icon - The icon shown

Default messages (Example):
+earlyq.loading_msg "<color=#c47070>PLEASE WAIT (alot of spaces here) SERVER IS STILL STARTING: {progress}"
+earlyq.loading_icon "Server"

+earlyq.ready_msg "<color=#59a358>YOU ARE READY (alot of spaces here) WAITING FOR THE SERVER: {progress}"
+earlyq.ready_icon "CheckCircle"

 

You can see all the icons you can use  here

You can use some unity rich text components in the message: “color”, “u”, “b” and “i”. If you want to add a new line currently the only way I found out is to spam a bunch of spaces since it will wrap to the next line, max is 3 lines
At the time of writing this, these are all the limitations, they might change in the future.

 

 You can also use a config file if you prefer

The config file needs to be created in a folder of the root of the server called “EarlyQ” and in the folder a file needs to be created called “config.json”, it should look like “EarlyQ/config.json”
The content of the config.json file need to be:

{
	"loading_msg": "your custom msg",
	"loading_icon": "your custom icon",
	"ready_msg": "your custom msg",
	"ready_icon": "your custom icon"
}

EarlyQ (Early Queue) EarlyQ

 

Installation
As this is a Harmony mod you need to place the EarlyQ.dll file in HarmonyMods folder, after that restart the server. (do not use harmony.load command with EarlyQ!)

EarlyQ works for Linux & Windows

EarlyQ works with the newest networking update

EarlyQ works with RakNet and SteamNetworking

EarlyQ works with Vanilla, Oxide and Carbon

 

Note
Facepunch confirmed this Harmony mod is not allowed on official servers, if you want to use it on official, do it at your own risk.

 

Contact

You can contact me on discord: turner1337

4 reviews for EarlyQ (Early Queue)

  1. 5 out of 5

    turner (verified owner)

    i recommend it lol :D

  2. 5 out of 5

    int_541 (verified owner)

    5/5 – Great concept and great execution. Does exactly what it says on the tin and does so perfectly without issue

  3. 5 out of 5

    jncwinner1 (verified owner)

    Exactly what it says, it does, had one issue after an update but removed the mod for the day and the next day add it back updated and haven’t had an issue since.

  4. 5 out of 5

    Wrecks (verified owner)

    This is a must have! Gets me on my Dev server super quick after reboots, I recommend this if you’re looking to save your players or yourself some time.


Only logged in customers who have purchased this product may leave a review.

Version 2.0.2 | Updated December 19, 2024
  • Fixed - Fixed incorrect logic for the new config system (now it should be fully compatible with the old one)
Version 2.0.1 | Updated December 7, 2024
  • Added ​ - Added a way to configure the loading messages via config file The config file needs to be created in a folder of the root of the server called "EarlyQ" and in the folder a file needs to be created called "config.json", it should look like "EarlyQ/config.json" The content of the config.json file need to be: { "loading_msg": "your custom msg", "loading_icon": "your custom icon", "ready_msg": "your custom msg", "ready_icon": "your custom icon" } ​
Version 2.0.0 | Updated December 6, 2024
  • Updated ​ EarlyQ was completely rewritten, it also now supports the new custom messages and with some major changes to the configuration. The new launch options for the custom messages are: +earlyq.loading_msg - The loading message shown when the server is loading and the client is waiting for the server to load the world +earlyq.loading_icon - The icon shown +earlyq.ready_msg - The loading message shown when the client finishes loading fully and is waiting for the server +earlyq.ready_icon - The icon shown You can see all the icons you can use here: https://github.com/xXTurnerLP/RustPluginDev/blob/master/DOCS/RustIcons.md You can use some unity rich text in the message, for additional details look at the main description of EarlyQ in the section "Custom message"   EarlyQ from now on works with Vanilla, Oxide and Carbon ​
Version 1.1.12 | Updated December 4, 2024
  • Fixed ​ - Fixed the NullReferenceException when the server was loading: Server Exception: TreeManager.SendPendingTrees NullReferenceException: Object reference not set to an instance of an object - EarlyQ now works with Carbon (thanks to Raul) - Currently works with Carbon version Edge Build — v2.1.350 ​
Version 1.1.11 | Updated October 4, 2024
  • Fixed - Fixed it for October's update
Version 1.1.10 | Updated September 7, 2024
  • Fixed - Updated for new server update (5 September 2024)
Version 1.1.9 | Updated July 5, 2024
  • Fixed - Updated for the newest Rust update - Increased robustness to avoid some server updates from breaking EarlyQ
Version 1.1.8 | Updated May 12, 2024
  • Fixed - Fixed EarlyQ not loading on Linux due to "Trying to load assembly: Facepunch.Steamworks.Win64" - Fixed EarlyQ not loading on Linux without oxide
Version 1.1.7 | Updated May 4, 2024
  • Fixed - Fixed issue with the last server update ("Failed to patch all hooks: System.Reflection.TargetInvocationException")
Version 1.1.6 | Updated May 3, 2024
  • Updated - Updated to use Harmony 2.3
Version 1.1.5 | Updated March 8, 2024
  • Updated - Update for the new update (the rust tutorial update)
Version 1.1.4 | Updated November 5, 2023
  • Fixed - Fixed error "Invalid Packet: Client Ready" after the November update
Version 1.1.3 | Updated September 12, 2023
  • Fixed ​ - Fixed a bug that was caused by the new Global Network update whenever a player disconnected and the server was still starting up Error messages were:   Server Exception: Network Cycle NullReferenceException: Object reference not set to an instance of an object 127.0.0.1:54822/76560000000000000/~turner(); kicked: Authentication Timed Out NullReferenceException: Object reference not set to an instance of an object ​
Version 1.1.2 | Updated August 4, 2023
  • Updated - Updated for the new August update
Version 1.1.1 | Updated June 29, 2023
  • Fixed - Fixed an issue where if you did not have the Oxide.Core.dll in the Managed folder you would get an error
Version 1.1.0 | Updated March 12, 2023
  • Fixed Fixes: - When the client is up to stage "Warming Prefab" it will no longer freeze indefinitely
  • Added New features: - When the client finishes with stage "Warming Prefab", it will now get a message saying that the client is waiting for the server (to better inform players what is happening) - Added optional debug mode that will be used for trouble shooting issues
Version 1.0.2 | Updated February 24, 2023
  • Fixed Fixes: - Server will no longer ignore "-skipload" launch option Experimental fixes: - Changed oxide hook "IOnServerInitialized" to be called before players are let into the server - Checking if player is already connected before trying to connect them (Trying to fix kick message: "Connection Rejected - You are already connected as a player!") - Cleaning internal state after joining a player IMPORTANT If you notice anything strange or different please report it, this release should work identically as the previous one in terms of functionality This release tries to fix an issue that a couple of people had which seems to corrupt server state or memory and players will get kicked with error "Connection Rejected - You are already connected as a player!" If you had this issue please report if its fixed or not! NOTE: I still cannot reproduce the issue and this is why this is an experimental fix and not a guaranteed one
Version 1.0.1 | Updated February 7, 2023
  • Fixed Clients who are ready with downloading the world before the server is done starting up, are now being held on a standby and will join once the server is ready. Before, if you joined before the server is done you could notice the server is very unresponsive because it was still starting up Linux Oxide version was affected and would kick you with Invalid Packet - Client Ready This is all fixed now, if you finish loading the map before the server is ready your client will sit on the last stage of Warming Prefab (for example: WARMING PREFABS [3171/3171]) YOU DID NOT FREEZE DONT WORRY, as soon as the server is ready you will join instantly without waiting.

5 thoughts on "EarlyQ (Early Queue)"

Leave a reply

Your email address will not be published. Required fields are marked *

  1. I’m using this plugin with Carbon, but it always get stuck in “PLEASE WAIT SERVER IS STILL STARTING: 50%” so it gets stuck in 50% of progress.

    When checking the logs everything is normal. After the “[5.6s] Cleaning Up” completed in the server side, it starts loading and the message stays there at 50%.

    The plugin works and the server is early available to connect, but this part of the message is not working for me, in the latest Carbon version at least.

      • Schubert contacted me on discord, and i said this to him:

        usually its normal to get stuck at 50% and then either continue rapidly or just straight up load completely

        technically i didnt made it to count the full loading state, only the most important stuff that load (like the asset warmup), which happens at the first 50% and after that its minor stuff that sometimes complete so fast you dont even see it

        So tldr its nothing to really worry about

Product Enquiry

Please Login to make enquiry about this product