arma-server-web-admin/app.js

54 lines
1.5 KiB
JavaScript
Raw Normal View History

var express = require('express')
var bodyParser = require('body-parser')
var morgan = require('morgan')
var path = require('path')
2017-04-01 09:19:30 +00:00
var serveStatic = require('serve-static')
2014-02-09 03:19:48 +00:00
var config = require('./config')
2017-09-30 12:13:59 +00:00
var setupBasicAuth = require('./lib/setup-basic-auth')
var Manager = require('./lib/manager')
var Missions = require('./lib/missions')
var Mods = require('./lib/mods')
var Logs = require('./lib/logs')
2014-02-09 03:19:48 +00:00
var app = express()
var server = require('http').Server(app)
var io = require('socket.io')(server)
2014-02-09 03:19:48 +00:00
2017-09-30 12:13:59 +00:00
setupBasicAuth(config, app)
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false }))
2017-09-30 12:43:42 +00:00
app.use(morgan(config.logFormat || 'dev'))
app.use(serveStatic(path.join(__dirname, 'public')))
2014-02-09 03:19:48 +00:00
var logs = new Logs(config)
var manager = new Manager(config, logs)
manager.load()
var missions = new Missions(config)
var mods = new Mods(config)
mods.updateMods()
app.use('/api/logs', require('./routes/logs')(logs))
app.use('/api/missions', require('./routes/missions')(missions))
app.use('/api/mods', require('./routes/mods')(mods))
app.use('/api/servers', require('./routes/servers')(manager, mods))
app.use('/api/settings', require('./routes/settings')(config))
2014-02-09 03:19:48 +00:00
io.on('connection', function (socket) {
socket.emit('mods', mods.mods)
socket.emit('servers', manager.getServers())
})
mods.on('mods', function (mods) {
io.emit('mods', mods)
})
manager.on('servers', function () {
io.emit('servers', manager.getServers())
})
server.listen(config.port, config.host)