2,828 Commits over 2,041 Days - 0.06cph!
▊▄▉▅▉█▄ ▌▌▄▊▄▊▄▊ ▆▇ ▇▇▄▅ ▋▆▅▆▊▍ (▅▇▄▅█▄▍▇█▉▇▍▇▊, ▆▊▇▇▇▌▋▌ ▋▌▆▄▌, ▌▌▋▇▍▌▉▌▉▋ ▍▅▍▊▋▅ ▊▍▇▍▇▌▅▌▌▍ ▌▅ ▇▊ ▅▌█ ▆▅█▊▆█ ▅▌ ▌▋ ▌▇▆▇▅)
▅▋▌ ▍▄▉▉▇▊▋ ▍▆ ▍▉▍▊▌▋ ▇.▊▄.▉ (▄▌▅▄▄ ▉ ▄▆▋ ▆▊▍ ▍█▋▊▋▋ + ▍▄▄▆▌██ ▋▋▉ ▋▌▇▊▊ ▊▊▄ ▌▄▉)
▋█▄▌ ▋▉▊▊▍▌▇▅▊.█▄▇█▍▌ █▅▇▊█▊▇ ▌▌▍▍ ▌▋▉▋▊ ▍▉▅▄▊█
Make the tag query exclude unselected options for mutually exclusive tags
Example: searching for monthly will exclude biweekly and weekly in case some server has all of them specified for some reason
Also fix servers not refreshing when changing tag filters the first time
Refactoring some tag list code so we can reuse it for the loading screen
Hook up server name, player count, gamemode, and map name
▊█▋▄▋▉ ▌▊▋▅ ▅▍▆▄▇▇ ▅▉▊█▌▋▍▇▆▄ ▊▉ ▌▇ ▍▍█ ▆▉
▅▅▄▌▇▋ █▅▊▋▇▅▉▉▊.▋▋▍▊▄▊█▌▍▅
Merge from companion_server_offline
Wait for the public IP to be be populated before kicking off the connectivity test (fixes it showing a warning about your IP being 0.0.0.0)
Fix CargoPlane not saving - protobuf code was stomped in a merge
▌▋▄▍▇ ▍▊▄ ▋▆▊▉▆▅▌▇▊▊▄▇▇ ▇▊▆▇▉ █▇ ▍▊▆▅▊▆▋ ▇▅ █▆▌ ▊▇ ▇▅▊▉▉▆▊█ ▌▌▊'▊ ▉▉▅▋ ▉▌▉▆ ▄▄ ▍▉ ▌▄█ ▉▅▅ █▅▋▄
▄█▉▋ ▍▅▊ ▉▌██▄▋▆▆█ ▌▇▇▇▆ ▆▆▅▊ ▉▌▄▇
▍█▍▉ ▉▋▄▍▄▉▇▇▅█▊▊█▇▋ ▄▌▆ ▄▆ ▍▆█ ▄▆█▉█▄ #▄▋ ▊▍▌█▄▊
▍▌▉ ▅▊▄▅▍▌.▋▌▌▋▇▆▇▊▄▊▇▊▋▋▉ ▋▍ ▋▌▊▌ ▋▍▆▄▄ ▉▆█▅▌▄ ▌▍ ▆▆▄▊▍▄ ▌▉▆▋▊▌ ▅▅ ▄█▋▆▇▆ ▄▍▌ ▉▋▇▋▅▅▍
Merge from cargoplane_saveload
Delete the SavePause component (unused now)
Add an option to filter servers on the server browser by their tags
▇▌▉▊▅ ▆▄ ▆▉▍ █▉▅▊ ▍▌ ▄▆▇█▌▄/▅▄▆▆▇▅▅ ▅▋▇▊█▊▍▌ ▅▋▍▌▋█▍▌▊▊ (▍▋▇▆▄▅▌█▇ ▊█▇▍▌ ▌▅▇▅▄ ▍▋▄▍▍▌▉▇)
▉▅▊▅ ▅▊▉▇▇▌▍▋ ▆▋▄▇▇█▌▌▄▍ ▊▄▌▌▋▍ ▍▋▇▇▉ ▋ ▆▆▋ █▆▊▇██▆
▆▊▋'▋ ▇▋▆▆▄ ███▇▉▅▇ ▇▋▆ ▌▇▄█▊▍▊▌ ▊▄▍▆▆ ▄▇▆ ▋▉█▄▋▋▊▅▉▋▅▆
▌▇▌▋ ▆▆▄▊▆▅▄ ▌▋ ▌▉▆ ▅▅▅█▄▇ ▇▋▍▋█ ▅▋▍▍▌▋ ▇▄ ▇▆▆▄▄▄▋▄▊▉▉▇
▉▍█'▌ ▆▌▆▋▍ ▅▌█▆▌▌▋ ▉▅▍▇▅▌▍ ▉▄▌▅▄▉▋▍▍█ ▅▅█▄ ▆▉▊ ▌▅▍▉▄▆▆▋█▊▊▅
█▌▊'▍ █▇█▋█ ▊▍▇█▌▄▆▌ ▋▌ ▌▊▌▇▅▊ ▆▋▊██ █▌▌▄▋▆ ▋▉▌▇▋▄ ▊▄▍ ▊▌▊▄▅▆▇▋ ▇▄▊▉▉▇▅
▌▇▅ ▍ ▆▍▅ ▆▌▌▆█▄▆▉▄▋▊▋ ▌▍▊█ ▇▅ ▄█▉▅█▊▉▌ ▌▍▄▊▅ ▍█▍ ▊▌█▆▆▅▉▉█ ▊▅▅▇▄▆▍▋▋▅ ▉▊ ▅▇▅▊▊▅▆█
█▊▊ ▆▍▇▋▍▄▌▍▌▍▊ ▌▉█ █▌▋▅▌▇▌▍▆██ ▇▊▊ ▄▇▄▍▄ █▍█▊█▍ ▊▍ ▆▋▋█▉▊▆▅▆█▇ ▉▆▌▇▊▌▇▊█
Merge from companion_server_offline
Automatically tests Rust+ connections to servers and disables it if it fails
▄█▅▇▆▅▅ ▆▇▍▊▉ ▆▄ ▆▌▉▊ ▅▌ ▌▅▇▍▋▊▉▊ ▄▋▊▄ ▊▌▉▍▉▄▅▄▋▅▅▍
▅▉▆▆ ▇▉▆▇▇▉ ▅▍▅ ▆▉ ▊▊▉▆▉▆▊▍ ▇▉▆▇ ██▄▅ ▋▍ ▇▋▆▇ ▇▇ █▉▆ ▊▄▋▊▋▇ █▉ █▆▌▊▊▉▊ ▍▋▄▆ ▋▍▆█▇▍▌█
▋▇▄▋█ ▉▊▅▆▌▉▌▇▍▄ ▊▍▍ ▇ ▌▋▅▇▌███ ▍▋▇▉ ▅▍▆▉▇▋▋▄▌▇▊▉ ▍▇ ▆▅▉▍▉▍▊ ▇▍▍▉ (▄▅ ▇▍▅▋▇▌▇█▌▅ ▇▊▍ ▅▌██ ▅▊█▉▅▆▌▍▆)
▊▆▆▌▊▄ ▌▄.▋▇▊▋▊
▌▆▅▆ █▅▆▆▅▋█▄▌▍█▊▅▄ ▄▇▅▅▅ █▄▇ ▊▆▉▆ █▅▋▌█▉▄█ ▌█▅▅█▉▋ ▌▋ ▄▇ █▉▇'▉ ▇█▊▄▋▆▄ ▉▍▋▍▆▆▆▄ █▌▊▋▆▊ ▆▄▋▊▊▅ ▊▉▌▄▊
▄▇▅▆ ▆█▉ ▉▇▆█▇ ▉▆▅▆ ▄▉▅▄▌█▆ █▋▍▇▊ ▌▋▍ ▆▅▄▅▄▍▄ ▌▍ ▍▋▉▅
▇▍▋'█ ▋█▅▉ ██ ▌▇▉ ▊▋▆▉▋▆▋▊ ▉▋ ▆▉▇ ▌▋▍▍'▅ ▌▇▆▍▊█▆▇ (▋█▌ ▆▉▋▌ ▍▍▅ █▇▄▍▍▅)
▋▅▉▌█▉█▉ █▇▍▄▆ ▋▄▌▇▇█▆ ▋▇▆▉ ▊█▍ ▊▉▉▄ ▌▇ ▅▅█▍▇ ▍▅▄▆▌▅▋▌▊▆ ▄▉▄▊█▋▇▇ ▌▄ ▅▍ ▊▋▍ ▌▆▅▋ ▅▉▉▍▍█▇▆▉▉ ▅▋ ▌▌▊ ▉▄▉█
▉▄▆▋ ▉▆▆█▋▋▇ █▍▄▅▉▋▇ ▅▉▆█▊▄▍ ▅▌██ ▅▇ ▇▍▆ ▊▆▌▄▍█▉ ▅▊▊▊ (▆▇▋▉▄▇▌▆) ▅█ ▅█▆▌▇█▋▍ ▉▇▄▉▊
▉█▌▇▊ ▉▇█ ▉▍▍▍▉▄▋▇ ▍▅▄▋▍▍ ▆▇▋▍▄▆▌ ▉▉ ▋▅ ▆▍▅'▅ ▊▊▇▄▉ ██▉█▊▊▇ ▌▄▍▌▋ ▄▉▅▉▉▋ █▅'▉▍ ▇▅▋▇ ▄▉'▅ ▆█▋▋▇▉▌
▇█▊▌▍▌█▄ ▌█ ▍▌▄▇▇ ██▆▋-▍▅▄▄▆▄▊▊
▍█▆ ▊▉▉▇▇▆▄▇█▊▄▌▇ ▊▉█▍▌ ▅▋▉▊▄▉▌ ▇▆▉▆ ▊▆▇█▉▊▇▇ ▊▉▄▉█▆▌▋ ▇▍▆ ▅█ ▅▊▋ ▋▋▄▉▍ ▉▄▄▉▄ ▋▇
▋▋▋▋▇▌ █▆.▅▍▅▍▆
▅▆▅ █▌▌.▄▌▅▅▇▄▍▆▄▆▇▇█ ▆▌▄▅▇ ▌▉▊█▆▄█▋ ▍▉ ▅▌▍▌ ▍▆▅▍▉▉ █▊▇▉▇▍▌ ▉▊▊█ ▄▄▋
Perform a connectivity test against the Rust+ companion server at server boot - auto disable Rust+ features if this fails
Don't hide the smart entity pair option when Rust+ is disabled - show a message saying it is disabled on the server instead
More consistent and reliable checking if Rust+ is enabled on the server when sending notifications
▆▋▄ ▍█▆▅█▆▊ + ▋▋▉▄▇▊▄▄ + ▄▉▇▋▆█▋▅▅
Fix wrong button colors on the left side of the firework design UI