diff --git a/packages/app/src/components/LimitAlert/index.jsx b/packages/app/src/components/LimitAlert/index.jsx
new file mode 100644
index 00000000..177c5a0d
--- /dev/null
+++ b/packages/app/src/components/LimitAlert/index.jsx
@@ -0,0 +1,57 @@
+import { Alert } from "antd"
+
+const FetchLimit = async (limit_id) => {
+ if (!limit_id) {
+ throw new Error("limit_id is required")
+ }
+
+ const response = await app.cores.api.customRequest({
+ method: "GET",
+ url: `/global_server_limits/${limit_id}`,
+ })
+
+ return response.data
+}
+
+const Limit = (props) => {
+ const { limit_id } = props
+
+ if (!limit_id) {
+ console.error("limit_id is required")
+ return null
+ }
+
+ const [L_Limit, R_Limit, E_Limit, M_Limit] = app.cores.api.useRequest(FetchLimit, limit_id)
+
+ if (E_Limit) {
+ console.log(`Failed to fetch limit ${limit_id} >`, E_Limit)
+
+ return null
+ }
+
+ if (L_Limit) {
+ return null
+ }
+
+ const componentProps = {
+ type: "warning",
+ closable: true,
+ ...R_Limit?.data?.componentProps ?? {},
+ }
+
+ return
+}
+
+export default (props) => {
+ const { limit_id } = props
+
+ if (Array.isArray(limit_id)) {
+ return limit_id.map((limit_id) => )
+ }
+
+ return
+}
\ No newline at end of file
diff --git a/packages/server/src/controllers/PublicController/endpoints/globalServerLimits.js b/packages/server/src/controllers/PublicController/endpoints/globalServerLimits.js
new file mode 100644
index 00000000..5d9a58bf
--- /dev/null
+++ b/packages/server/src/controllers/PublicController/endpoints/globalServerLimits.js
@@ -0,0 +1,27 @@
+import { ServerLimit } from "@models"
+
+export default {
+ method: "GET",
+ route: "/global_server_limits/:limitkey",
+ fn: async (req, res) => {
+ const { limitkey } = req.params
+
+ const serverLimit = await ServerLimit.findOne({
+ key: limitkey,
+ active: true,
+ })
+ .catch(err => {
+ return res.status(500).json({
+ error: err.message
+ })
+ })
+
+ if (!serverLimit) {
+ return res.status(404).json({
+ error: "Server limit not found or inactive"
+ })
+ }
+
+ return res.json(serverLimit)
+ }
+}
\ No newline at end of file
diff --git a/packages/server/src/models/serverLimit/index.js b/packages/server/src/models/serverLimit/index.js
new file mode 100644
index 00000000..44c27697
--- /dev/null
+++ b/packages/server/src/models/serverLimit/index.js
@@ -0,0 +1,24 @@
+import { Schema } from "mongoose"
+
+export default {
+ name: "ServerLimit",
+ collection: "serverLimits",
+ schema: {
+ key: {
+ type: String,
+ required: true,
+ },
+ value: {
+ type: Schema.Types.Mixed,
+ required: true,
+ },
+ active: {
+ type: Boolean,
+ default: true,
+ },
+ data: {
+ type: Object,
+ required: false,
+ }
+ }
+}
\ No newline at end of file