1- const http = require ( 'http' ) ;
21var opn = require ( 'opn' ) ;
3- const { exec } = require ( "child_process" ) ;
4- const express = require ( 'express' ) ;
5- const app = express ( ) ;
6- const fs = require ( 'fs' ) ;
72
8- var socketPort = 35565 ;
9- var serverPort = 25565 ;
10-
11- //Socketio
12- var server1 = http . createServer ( ) ;
13- var io = require ( "socket.io" ) ( server1 ) ;
14- var world = { } ;
15- function saveWorld ( ) {
16- fs . writeFile ( "savedWorld.json" , JSON . stringify ( world ) , function ( callback ) { } )
17- }
18- function restoreWorld ( ) {
19- world = JSON . parse ( fs . readFileSync ( 'savedWorld.json' ) )
20- }
21- restoreWorld ( )
22- var players = { } ;
23-
24- io . sockets . on ( "connection" , function ( socket ) {
25- console . log ( "[\x1b[32m+\x1b[0m] " + socket . id )
26- socket . emit ( "firstLoad" , world )
27- socket . on ( "playerUpdate" , function ( data ) {
28- players [ socket . id ] = data
29- io . sockets . emit ( "playerUpdate" , players )
30- } )
31- socket . on ( "blockUpdate" , function ( block ) {
32- block [ 0 ] = Math . floor ( block [ 0 ] )
33- block [ 1 ] = Math . floor ( block [ 1 ] )
34- block [ 2 ] = Math . floor ( block [ 2 ] )
35- world [ `${ block [ 0 ] } :${ block [ 1 ] } :${ block [ 2 ] } ` ] = block [ 3 ] ;
36- if ( block [ 3 ] == 0 ) {
37- delete world [ `${ block [ 0 ] } :${ block [ 1 ] } :${ block [ 2 ] } ` ]
38- // console.log("Block removed",`${block[0]}:${block[1]}:${block[2]}`)
39- } else {
40- // console.log("Block placed",`${block[0]}:${block[1]}:${block[2]}`)
41- }
42- io . sockets . emit ( "blockUpdate" , block )
43- saveWorld ( )
44- } )
45- socket . on ( "disconnect" , function ( ) {
46- console . log ( "[\x1b[31m-\x1b[0m] " + socket . id ) ;
47- delete players [ socket . id ]
48- } ) ;
49- } ) ;
50- server1 . listen ( socketPort ) ;
51-
52- //Webserver
53- app . use ( express . static ( __dirname + "/client/" ) ) ;
54- app . use ( ( req , res , next ) => {
55- res . set ( 'Cache-Control' , 'no-store' )
56- next ( )
57- } )
58- app . listen ( serverPort , ( ) => {
59- console . log ( `Running: \x1b[35m\x1b[4mhttp://localhost:${ serverPort } \x1b[0m` ) ;
60- opn ( `http://localhost:${ serverPort } ` )
61- } ) ;
3+ require ( "./server/websocket.js" ) ( 35565 )
4+ require ( "./server/express.js" ) ( 25565 )
625
6+ opn ( `http://localhost:25565` )
0 commit comments