does this still work?
EarlyQ (Early Queue)
$7.99
Sold by: turnerEarlyQ – Optimizes loading times by allowing players to prematurely join the rust server before its started.
- Description
- Reviews (4)
- Version History
- Discussions (5)
- Product Enquiry
Description
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:
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
Reviews (4)
4 reviews for EarlyQ (Early Queue)
Only logged in customers who have purchased this product may leave a review.
Version History
- Fixed - Fixed incorrect logic for the new config system (now it should be fully compatible with the old one)
- 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" }
- 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
- 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
- Fixed - Fixed it for October's update
- Fixed - Updated for new server update (5 September 2024)
- Fixed - Updated for the newest Rust update - Increased robustness to avoid some server updates from breaking EarlyQ
- Fixed - Fixed EarlyQ not loading on Linux due to "Trying to load assembly: Facepunch.Steamworks.Win64" - Fixed EarlyQ not loading on Linux without oxide
- Fixed - Fixed issue with the last server update ("Failed to patch all hooks: System.Reflection.TargetInvocationException")
- Updated - Updated to use Harmony 2.3
- Updated - Update for the new update (the rust tutorial update)
- Fixed - Fixed error "Invalid Packet: Client Ready" after the November update
- 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
- Updated - Updated for the new August update
- Fixed - Fixed an issue where if you did not have the Oxide.Core.dll in the Managed folder you would get an error
- 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
- 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
- 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.
Discussions (5)
5 thoughts on "EarlyQ (Early Queue)"
Leave a reply
-
-
yes it still works
-
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.
-
Same, I just got this and it starts at 50, but still gets me in quickly.
-
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
-
-
turner (verified owner) –
i recommend it lol :D
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
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.
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.