Merge branch 'master' of https://github.com/PretendoNetwork/Pretendo
This commit is contained in:
commit
80fff6f406
6 changed files with 61 additions and 63 deletions
4
_GAMES/SMM/run_nex_server.bat
Normal file
4
_GAMES/SMM/run_nex_server.bat
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
@echo off
|
||||
echo Launching Super Mario Maker NEX server....
|
||||
node nex_server.js
|
||||
pause
|
||||
3
_GAMES/game_server_template/package-lock.json
generated
3
_GAMES/game_server_template/package-lock.json
generated
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"lockfileVersion": 1
|
||||
}
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
@echo off
|
||||
echo Launching game server....
|
||||
node server.js
|
||||
pause
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
//////////////////////////////////////////////////////////////////
|
||||
/// ///
|
||||
/// Game Server Template ///
|
||||
/// ///
|
||||
//////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/////////////Packets are only received; nothing is done with them./////////////
|
||||
///////////// In order to read the data, they must be decrypted. /////////////
|
||||
///////////// This is done on a per-game basis. /////////////
|
||||
|
||||
//Game server metadata
|
||||
//Put things such as port and game name here
|
||||
let port = 88888,
|
||||
gamename = 'game',
|
||||
//don't mess with these two variables
|
||||
dgram = require('dgram');
|
||||
server = dgram.createSocket('udp4');
|
||||
|
||||
function asciiToHex(packet){
|
||||
let buf = Buffer.from(packet,'ascii');
|
||||
return buf.toString('hex');
|
||||
}
|
||||
|
||||
server.on('listening', function () {
|
||||
var address = server.address();
|
||||
console.log(gamename + ' server listening on ' + address.address + ":" + address.port);
|
||||
});
|
||||
|
||||
server.on('message', function (message, remote) {
|
||||
console.log(remote.address + ':' + remote.port +' - ' + asciiToHex(message));
|
||||
});
|
||||
|
||||
server.bind(port, '0.0.0.0');
|
||||
|
|
@ -14,17 +14,13 @@ let routes = require('express').Router(),
|
|||
|
||||
//The game ips and ports are stored here. When the game tries to access its specific server, it will be given the respecive ip and port.
|
||||
let gamePort = {
|
||||
supermariomaker: {
|
||||
ip: '10.0.0.57',
|
||||
friends: {
|
||||
ip: '10.0.0.225',
|
||||
port: '1300'
|
||||
},
|
||||
mariokart8: {
|
||||
ip: '10.0.0.57',
|
||||
supermariomaker: {
|
||||
ip: '10.0.0.225',
|
||||
port: '1301'
|
||||
},
|
||||
supersmashbroswiiu: {
|
||||
ip: '10.0.0.57',
|
||||
port: '1302'
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -60,24 +56,20 @@ routes.get('/nex_token/@me', async (request, response) => {
|
|||
let ip = null;
|
||||
let port = null;
|
||||
|
||||
console.log(request.headers['X-Nintendo-Title-ID']);
|
||||
console.log(request.query.game_server_id);
|
||||
|
||||
switch(request.headers['X-Nintendo-Title-ID']){
|
||||
case '000500001018DC00':
|
||||
ip = gamePort.supermariomaker.ip;
|
||||
port = gamePort.supermariomaker.port;
|
||||
switch(request.query.game_server_id){
|
||||
case '00003200':
|
||||
ip = gamePort.friends.ip;
|
||||
port = gamePort.friends.port;
|
||||
break;
|
||||
case 'mariomakereur':
|
||||
ip = gamePort.supermariomaker.ip;
|
||||
port = gamePort.supermariomaker.port;
|
||||
break;
|
||||
case 'mariomakerjpn':
|
||||
case '1018DB00':
|
||||
ip = gamePort.supermariomaker.ip;
|
||||
port = gamePort.supermariomaker.port;
|
||||
break;
|
||||
default:
|
||||
ip = '10.0.0.57';
|
||||
port = '1300';
|
||||
ip = null;
|
||||
port = null;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -86,8 +78,8 @@ routes.get('/nex_token/@me', async (request, response) => {
|
|||
errors: {
|
||||
error: {
|
||||
cause: 'No game server',
|
||||
code: '8068000B',
|
||||
message: 'Authentication::UnderMaintenance (No server found)'
|
||||
code: '9999',
|
||||
message: 'No server found'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
let routes = require('express').Router(),
|
||||
helpers = require('../../helpers'),
|
||||
constants = require('../../constants'),
|
||||
database = require('../../db'),
|
||||
dns = require('dns'),
|
||||
json2xml = require('json2xml');
|
||||
|
||||
|
|
@ -91,4 +92,46 @@ routes.post('/validate/email', async (request, response) => {
|
|||
|
||||
});
|
||||
|
||||
/**
|
||||
* [PUT]
|
||||
* Replacement for: https://account.nintendo.net/v1/api/support/email_confirmation/:USERPID/:CONFIRMCODE
|
||||
* Description: Confirms an email
|
||||
*/
|
||||
routes.put('/email_confirmation/:pid/:code', async (request, response) => {
|
||||
response.set('Content-Type', 'text/xml');
|
||||
response.set('Server', 'Nintendo 3DS (http)');
|
||||
response.set('X-Nintendo-Date', new Date().getTime());
|
||||
|
||||
let user = await helpers.getUser(request.params.pid);
|
||||
|
||||
if (!user) {
|
||||
let error = {
|
||||
errors: {
|
||||
error: {
|
||||
cause: 'no user found',
|
||||
code: '9999',
|
||||
message: 'Bad pid received; pid: ' + request.params.pid
|
||||
}
|
||||
}
|
||||
}
|
||||
return response.send(json2xml(error));
|
||||
}
|
||||
|
||||
if(user.sensitive.email_confims.code == request.params.code){
|
||||
database.user_collection.update(user._id, {$set:{'address[0].validated':'Y'}});
|
||||
}else{
|
||||
let error = {
|
||||
errors: {
|
||||
error: {
|
||||
cause: 'Bad code',
|
||||
code: '9999',
|
||||
message: 'Bad code received; code: ' + request.params.code
|
||||
}
|
||||
}
|
||||
}
|
||||
return response.send(json2xml(error));
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
module.exports = routes;
|
||||
|
|
|
|||
Loading…
Reference in a new issue