Add files via upload

This commit is contained in:
James 2025-05-03 01:37:14 -07:00 committed by GitHub
parent 471cb41dfe
commit 04a4ce5b67
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 84 additions and 23 deletions

View File

@ -32,17 +32,14 @@
</style>
</head>
<body>
<header>
<nav class="navbar">
<a href="https://www.oblistudios.com">Home</a> |
<a href="https://www.oblistudios.com/servermanager.html">Server Manager</a> |
<a href="https://www.oblistudios.com/shardwalker.html">Shardwalker</a>
<nav class="navbar">
<a href="https://www.oblistudios.com">🏠 Home</a> |
<a href="https://www.oblistudios.com/servermanager.html">🛠 Server Manager</a> |
<a href="https://www.oblistudios.com/shardwalker.html">⚔️ Shardwalker</a>
<a href="http://roadmap.oblistudios.com" class="btn-roadmap">🛠 View Roadmap</a>
</nav>
<a href="http://roadmap.oblistudios.com" class="btn-roadmap">🛠 View Roadmap</a>
</nav>
</header>
<main class="container">
<h1>Welcome to Obli.Studios</h1>
<p>Home of Shardwalker and the Obli.ServerManager platform.</p>

68
server.js Normal file
View File

@ -0,0 +1,68 @@
// server.js (Node.js + Express backend)
const express = require('express');
const fs = require('fs');
const path = require('path');
const bodyParser = require('body-parser');
const cookieParser = require('cookie-parser');
const jwt = require('jsonwebtoken');
const app = express();
const SECRET_KEY = 'your_super_secret_key';
const PASSWORD = 'shardwalker2025'; // set your password here
const PORT = 3000;
app.use(express.static('public'));
app.use(bodyParser.json());
app.use(cookieParser());
// Serve login check
app.get('/check-auth', (req, res) => {
const token = req.cookies.token;
if (!token) return res.status(401).json({ authenticated: false });
try {
jwt.verify(token, SECRET_KEY);
res.json({ authenticated: true });
} catch (err) {
res.status(403).json({ authenticated: false });
}
});
// Login route
app.post('/login', (req, res) => {
const { password } = req.body;
if (password === PASSWORD) {
const token = jwt.sign({ user: 'admin' }, SECRET_KEY, { expiresIn: '1d' });
res.cookie('token', token, { httpOnly: true });
res.json({ success: true });
} else {
res.status(403).json({ success: false });
}
});
// Get current roadmap
app.get('/api/roadmap', (req, res) => {
const data = fs.readFileSync(path.join(__dirname, 'roadmap.json'));
res.json(JSON.parse(data));
});
// Update roadmap status
app.post('/api/roadmap', (req, res) => {
const token = req.cookies.token;
if (!token || !jwt.verify(token, SECRET_KEY)) {
return res.status(403).json({ success: false });
}
const { id, status } = req.body;
const filePath = path.join(__dirname, 'roadmap.json');
const roadmap = JSON.parse(fs.readFileSync(filePath));
const phase = roadmap.find(p => p.id === id);
if (phase) {
phase.status = status;
fs.writeFileSync(filePath, JSON.stringify(roadmap, null, 2));
res.json({ success: true });
} else {
res.status(404).json({ success: false });
}
});
app.listen(PORT, () => console.log(`Server running at http://localhost:${PORT}`));

View File

@ -24,17 +24,14 @@
</style>
</head>
<body>
<header>
<nav class="navbar">
<a href="https://www.oblistudios.com">Home</a> |
<a href="https://www.oblistudios.com/servermanager.html">Server Manager</a> |
<a href="https://www.oblistudios.com/shardwalker.html">Shardwalker</a>
<nav class="navbar">
<a href="https://www.oblistudios.com">🏠 Home</a> |
<a href="https://www.oblistudios.com/servermanager.html">🛠 Server Manager</a> |
<a href="https://www.oblistudios.com/shardwalker.html">⚔️ Shardwalker</a>
<a href="http://roadmap.oblistudios.com" class="btn-roadmap">🛠 View Roadmap</a>
</nav>
<a href="http://roadmap.oblistudios.com" class="btn-roadmap">🛠 View Roadmap</a>
</nav>
</header>
<main class="container">
<h1>Obli.ServerManager</h1>
<p>Manage your dedicated game servers with ease.</p>

View File

@ -25,14 +25,13 @@
</head>
<body>
<nav class="navbar">
<a href="https://www.oblistudios.com">Home</a> |
<a href="https://www.oblistudios.com/servermanager.html">Server Manager</a> |
<a href="https://www.oblistudios.com/shardwalker.html">Shardwalker</a>
<a href="https://www.oblistudios.com">🏠 Home</a> |
<a href="https://www.oblistudios.com/servermanager.html">🛠 Server Manager</a> |
<a href="https://www.oblistudios.com/shardwalker.html">⚔️ Shardwalker</a>
<a href="http://roadmap.oblistudios.com" class="btn-roadmap">🛠 View Roadmap</a>
</nav>
<div class="container">
<header>
<h1>Shardwalker: The Mirror's Edge</h1>