diff --git a/Realtime/build.gradle.kts b/Realtime/build.gradle.kts
new file mode 100644
index 00000000..0fdc717b
--- /dev/null
+++ b/Realtime/build.gradle.kts
@@ -0,0 +1,60 @@
+/*
+ * This file is a part of the SteamWar software.
+ *
+ * Copyright (C) 2024 SteamWar.de-Serverteam
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+plugins {
+ id("java")
+ id("base")
+
+ id("com.github.johnrengelman.shadow")
+}
+
+group = "de.steamwar"
+version = ""
+
+tasks.compileJava {
+ options.encoding = "UTF-8"
+}
+
+tasks.build {
+ finalizedBy(tasks.shadowJar)
+}
+
+java {
+ sourceCompatibility = JavaVersion.VERSION_1_8
+ targetCompatibility = JavaVersion.VERSION_1_8
+}
+
+sourceSets {
+ main {
+ java {
+ srcDirs("src/")
+ }
+ resources {
+ srcDirs("src/")
+ exclude("**/*.java", "**/*.kt")
+ }
+ }
+}
+
+dependencies {
+ compileOnly("org.projectlombok:lombok:1.18.32")
+ annotationProcessor("org.projectlombok:lombok:1.18.32")
+
+ compileOnly("org.spigotmc:spigot-api:1.19-R0.1-SNAPSHOT")
+}
diff --git a/Realtime/src/de/steamwar/realtime/Config.java b/Realtime/src/de/steamwar/realtime/Config.java
new file mode 100644
index 00000000..e39cef02
--- /dev/null
+++ b/Realtime/src/de/steamwar/realtime/Config.java
@@ -0,0 +1,34 @@
+/*
+ This file is a part of the SteamWar software.
+
+ Copyright (C) 2020 SteamWar.de-Serverteam
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
+package de.steamwar.realtime;
+
+import org.bukkit.Bukkit;
+
+import java.io.File;
+
+class Config {
+ private Config() {}
+
+ static final boolean RealTime;
+
+ static {
+ RealTime = !new File(Bukkit.getWorlds().get(0).getWorldFolder(), "noRealTime").exists();
+ }
+}
diff --git a/Realtime/src/de/steamwar/realtime/Realtime.java b/Realtime/src/de/steamwar/realtime/Realtime.java
new file mode 100644
index 00000000..cb2492ef
--- /dev/null
+++ b/Realtime/src/de/steamwar/realtime/Realtime.java
@@ -0,0 +1,55 @@
+/*
+ This file is a part of the SteamWar software.
+
+ Copyright (C) 2020 SteamWar.de-Serverteam
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+*/
+
+package de.steamwar.realtime;
+
+import org.bukkit.Bukkit;
+import org.bukkit.World;
+import org.bukkit.event.Listener;
+import org.bukkit.plugin.PluginManager;
+import org.bukkit.plugin.java.JavaPlugin;
+
+import java.util.Date;
+
+public class Realtime extends JavaPlugin implements Listener {
+
+ private static Realtime instance;
+
+ @Override
+ public void onEnable() {
+ instance = this;
+ PluginManager pluginManager = Bukkit.getPluginManager();
+ pluginManager.registerEvents(this, this);
+
+ //Time updater
+ if(Config.RealTime) {
+ Bukkit.getScheduler().scheduleSyncRepeatingTask(this, () -> {
+ Date date = new Date();
+ long time = date.getHours() * 1000 + (long)(date.getMinutes() * 16.66666666666667) + (long)(date.getSeconds() * 0.1666666666666667) - 6000;
+
+ for(World world : Bukkit.getWorlds())
+ world.setTime(time);
+ }, 0, 600);
+ }
+ }
+
+ static Realtime getInstance() {
+ return instance;
+ }
+}
diff --git a/Realtime/src/plugin.yml b/Realtime/src/plugin.yml
new file mode 100644
index 00000000..09793432
--- /dev/null
+++ b/Realtime/src/plugin.yml
@@ -0,0 +1,5 @@
+name: RealTime
+version: "1.0"
+author: Lixfel
+main: de.steamwar.realtime.Realtime
+api-version: "1.13"
diff --git a/settings.gradle.kts b/settings.gradle.kts
index e2c6e943..1fa24919 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -28,6 +28,8 @@ include("LobbySystem_2")
include("MissileWars")
+include("Realtime")
+
include("SpigotCore")
include("SpigotCore:CRIUDummy")
include("SpigotCore:SpigotCore_8")