Compare commits

..

No commits in common. "master" and "v0.2.9" have entirely different histories.

8 changed files with 17 additions and 22 deletions

View File

@ -7,6 +7,11 @@ stages:
- pre-release - pre-release
- release - release
default:
tags:
- linux
- timvisee-linux
# Variable defaults # Variable defaults
variables: variables:
RUST_VERSION: stable RUST_VERSION: stable

View File

@ -1,9 +1,5 @@
# Changelog # Changelog
## 0.2.10 (2023-02-20)
- Do not report an error when server exits with status code 143
## 0.2.9 (2023-02-14) ## 0.2.9 (2023-02-14)
- Fix dropping all connections when `server.drop_banned_ips` was enabled - Fix dropping all connections when `server.drop_banned_ips` was enabled

2
Cargo.lock generated
View File

@ -926,7 +926,7 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
[[package]] [[package]]
name = "lazymc" name = "lazymc"
version = "0.2.10" version = "0.2.9"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-std", "async-std",

View File

@ -1,6 +1,6 @@
[package] [package]
name = "lazymc" name = "lazymc"
version = "0.2.10" version = "0.2.9"
authors = ["Tim Visee <3a4fb3964f@sinenomine.email>"] authors = ["Tim Visee <3a4fb3964f@sinenomine.email>"]
license = "GPL-3.0" license = "GPL-3.0"
readme = "README.md" readme = "README.md"

View File

@ -187,4 +187,4 @@ command = "java -Xmx1G -Xms1G -jar server.jar --nogui"
[config] [config]
# lazymc version this configuration is for. # lazymc version this configuration is for.
# Don't change unless you know what you're doing. # Don't change unless you know what you're doing.
version = "0.2.10" version = "0.2.9"

View File

@ -57,13 +57,13 @@ pub async fn monitor_server(config: Arc<Config>, server: Arc<Server>) {
// Sleep server when it's bedtime // Sleep server when it's bedtime
if server.should_sleep(&config).await { if server.should_sleep(&config).await {
info!(target: "lazymc::monitor", "Server has been idle, sleeping..."); info!(target: "lazymc::montior", "Server has been idle, sleeping...");
server.stop(&config).await; server.stop(&config).await;
} }
// Check whether we should force kill server // Check whether we should force kill server
if server.should_kill().await { if server.should_kill().await {
error!(target: "lazymc::monitor", "Force killing server, took too long to start or stop"); error!(target: "lazymc::montior", "Force killing server, took too long to start or stop");
if !server.force_kill().await { if !server.force_kill().await {
warn!(target: "lazymc", "Failed to force kill server"); warn!(target: "lazymc", "Failed to force kill server");
} }

View File

@ -70,7 +70,7 @@ async fn send_v1_16_3(
packet::write_packet( packet::write_packet(
Title { Title {
action: if title.is_empty() && subtitle.is_empty() { action: if title.is_empty() && subtitle.is_empty() {
// Defaults: https://minecraft.wiki/w/Commands/title#Detail // Defaults: https://minecraft.fandom.com/wiki/Commands/title#Detail
TitleAction::SetTimesAndDisplay { TitleAction::SetTimesAndDisplay {
fade_in: 10, fade_in: 10,
stay: 70, stay: 70,
@ -121,7 +121,7 @@ async fn send_v1_17(
// Set title times // Set title times
packet::write_packet( packet::write_packet(
if title.is_empty() && subtitle.is_empty() { if title.is_empty() && subtitle.is_empty() {
// Defaults: https://minecraft.wiki/w/Commands/title#Detail // Defaults: https://minecraft.fandom.com/wiki/Commands/title#Detail
SetTitleTimes { SetTitleTimes {
fade_in: 10, fade_in: 10,
stay: 70, stay: 70,

View File

@ -29,11 +29,9 @@ const SERVER_QUIT_COOLDOWN: Duration = Duration::from_millis(2500);
#[cfg(feature = "rcon")] #[cfg(feature = "rcon")]
const RCON_COOLDOWN: Duration = Duration::from_secs(15); const RCON_COOLDOWN: Duration = Duration::from_secs(15);
/// Exit codes that are allowed. /// Exit code when SIGTERM is received on Unix.
/// #[cfg(unix)]
/// - 143: https://github.com/timvisee/lazymc/issues/26#issuecomment-1435670029 const UNIX_EXIT_SIGTERM: i32 = 130;
/// - 130: https://unix.stackexchange.com/q/386836/61092
const ALLOWED_EXIT_CODES: [i32; 2] = [130, 143];
/// Shared server state. /// Shared server state.
#[derive(Debug)] #[derive(Debug)]
@ -498,12 +496,8 @@ pub async fn invoke_server_cmd(
debug!(target: "lazymc", "Server process stopped successfully ({})", status); debug!(target: "lazymc", "Server process stopped successfully ({})", status);
false false
} }
Ok(status) #[cfg(unix)]
if status Ok(status) if status.code() == Some(UNIX_EXIT_SIGTERM) => {
.code()
.map(|ref code| ALLOWED_EXIT_CODES.contains(code))
.unwrap_or(false) =>
{
debug!(target: "lazymc", "Server process stopped successfully by SIGTERM ({})", status); debug!(target: "lazymc", "Server process stopped successfully by SIGTERM ({})", status);
false false
} }