Skip to content

Commit 376a8bf

Browse files
committed
buildAndServer
1 parent bf70b5b commit 376a8bf

File tree

10 files changed

+102
-68
lines changed

10 files changed

+102
-68
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ Zalecamy instalację:<br>
1414
#Instalacja repozytorium
1515
git clone https://github.com/michaljaz/web-minecraft
1616
cd web-minecraft
17+
18+
#Instalacja niezbędnych bibliotek
1719
npm install
1820

1921
#Uruchamianie serwera i przeglądarki

atlas.js renamed to build/atlas.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
const path = require('path');
32
const fs = require('fs');
43
const { createCanvas, loadImage } = require('canvas')
@@ -14,9 +13,9 @@ var loadedImages=0;
1413
var atlasSize=36
1514
var miniAtlasSize=27
1615

17-
var path1=path.join(__dirname, "client/assets/blocks/blocksAtlas-full.png");
18-
var path2=path.join(__dirname, "client/assets/blocks/blocksMapping-full.json");
19-
var path3=path.join(__dirname, "client/assets/blocks/blocksMapping.json");
16+
var path1=path.join(__dirname, "../client/assets/blocks/blocksAtlas-full.png");
17+
var path2=path.join(__dirname, "../client/assets/blocks/blocksMapping-full.json");
18+
var path3=path.join(__dirname, "../client/assets/blocks/blocksMapping.json");
2019

2120
firstLoad()
2221

@@ -41,11 +40,11 @@ function NWW(a,b){
4140
return a*b/NWD(a,b)
4241
}
4342
function firstLoad(){
44-
folderName="client/assets/blocks/images";
43+
folderName="../client/assets/blocks/images";
4544
const directoryPath = path.join(__dirname, folderName);
4645
fs.readdir(directoryPath, function (err, files) {
4746
files.forEach(function (file) {
48-
filePath=`${folderName}/${file}`
47+
filePath=`${__dirname}/${folderName}/${file}`
4948
if(path.extname(file)==".png"){
5049
addImageToLoad(filePath,file)
5150
}

package-lock.json

Lines changed: 29 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
"description": "Render Minecrafta w przegladarce",
55
"scripts": {
66
"start": "node start.js",
7-
"coffee": "coffee -o client/ -cw coffee/",
8-
"atlas": "node atlas.js"
7+
"coffee": "coffee -o client/ -cw build/coffee/",
8+
"atlas": "node build/atlas.js"
99
},
1010
"repository": {
1111
"type": "git",
@@ -23,6 +23,7 @@
2323
"express": "^4.17.1",
2424
"http": "0.0.1-security",
2525
"opn": "^6.0.0",
26+
"path": "^0.12.7",
2627
"socket.io": "^2.3.0"
2728
}
2829
}

server/express.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
module.exports = function(port) {
2+
const express = require('express');
3+
const app = express();
4+
5+
app.use(express.static(__dirname + "/../client/"));
6+
app.use((req, res, next) => {
7+
res.set('Cache-Control', 'no-store')
8+
next()
9+
})
10+
app.listen(port, () => {
11+
console.log(`Running: \x1b[35m\x1b[4mhttp://localhost:${port}\x1b[0m`);
12+
});
13+
}

savedWorld.json renamed to server/savedWorld.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

server/websocket.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
module.exports = function(port) {
2+
const http = require('http');
3+
const fs = require('fs');
4+
5+
var server1 = http.createServer();
6+
var io = require("socket.io")(server1);
7+
var world={};
8+
function saveWorld(){
9+
fs.writeFile(__dirname+"/savedWorld.json",JSON.stringify(world),function (callback){})
10+
}
11+
function restoreWorld(){
12+
world=JSON.parse(fs.readFileSync(__dirname+'/savedWorld.json'))
13+
}
14+
restoreWorld()
15+
var players={};
16+
17+
io.sockets.on("connection", function(socket) {
18+
console.log("[\x1b[32m+\x1b[0m] "+socket.id)
19+
socket.emit("firstLoad",world)
20+
socket.on("playerUpdate",function (data){
21+
players[socket.id]=data
22+
io.sockets.emit("playerUpdate",players)
23+
})
24+
socket.on("blockUpdate",function (block){
25+
block[0]=Math.floor(block[0])
26+
block[1]=Math.floor(block[1])
27+
block[2]=Math.floor(block[2])
28+
world[`${block[0]}:${block[1]}:${block[2]}`]=block[3];
29+
if(block[3]==0){
30+
delete world[`${block[0]}:${block[1]}:${block[2]}`]
31+
// console.log("Block removed",`${block[0]}:${block[1]}:${block[2]}`)
32+
}else{
33+
// console.log("Block placed",`${block[0]}:${block[1]}:${block[2]}`)
34+
}
35+
io.sockets.emit("blockUpdate",block)
36+
saveWorld()
37+
})
38+
socket.on("disconnect", function() {
39+
console.log("[\x1b[31m-\x1b[0m] " + socket.id);
40+
delete players[socket.id]
41+
});
42+
});
43+
server1.listen(port);
44+
}
45+
46+

start.js

Lines changed: 3 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,6 @@
1-
const http = require('http');
21
var 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

Comments
 (0)