diff --git a/.luacheckrc b/.luacheckrc
index 722854b34fb2a25ba44b9332aafcb8d0712f1146..88c07cb63eca1ea61f94825c46c9dfc801689452 100644
--- a/.luacheckrc
+++ b/.luacheckrc
@@ -21,6 +21,6 @@ read_globals = {
 	"minecart", locator = { fields = { "beacons" } },
 
 	-- optional mods
-	"xban", "monitoring",
+	"xban", "monitoring", "QoS",
 	"mcl_core", "mcl_sounds"
 }
diff --git a/init.lua b/init.lua
index c8ee7cca02cced6c74ce38f2d622de130a73bbc7..160472e0b64cae32ec0db5ced3cb2de084ca49d9 100644
--- a/init.lua
+++ b/init.lua
@@ -46,7 +46,7 @@ end
 
 
 -- optional mapserver-bridge stuff below
-local http = minetest.request_http_api()
+local http = QoS and QoS(minetest.request_http_api(), 2) or minetest.request_http_api()
 
 if http then
 	-- check if the mapserver.json is in the world-folder
diff --git a/mod.conf b/mod.conf
index 586bbba3d196f94579daa923fda259bcc85f13a5..d7006f6b3d0cf074db994bd1f3407362f07d5adc 100644
--- a/mod.conf
+++ b/mod.conf
@@ -1,3 +1,3 @@
 name = mapserver
 description = Mod for the mapserver.
-optional_depends = default, dye, advtrains, minecart, monitoring, bones, mcl_core, mcl_sounds, mcl_dye
+optional_depends = default, dye, advtrains, minecart, monitoring, bones, mcl_core, mcl_sounds, mcl_dye, qos