parent
ee1dadecc3
commit
4d68f17a58
13 changed files with 82 additions and 652 deletions
@ -1,428 +0,0 @@ |
||||
{ |
||||
"name": "game-server", |
||||
"version": "2.0", |
||||
"lockfileVersion": 2, |
||||
"requires": true, |
||||
"packages": { |
||||
"": { |
||||
"name": "game-server", |
||||
"version": "2.0", |
||||
"dependencies": { |
||||
"dotenv": "^16.0.3", |
||||
"https": "^1.0.0", |
||||
"ini": "^2.0.0", |
||||
"socket.io": "^4.4.1" |
||||
}, |
||||
"devDependencies": { |
||||
"@types/node": "^17.0.18", |
||||
"typescript": "^4.5.5" |
||||
} |
||||
}, |
||||
"node_modules/@socket.io/component-emitter": { |
||||
"version": "3.1.0", |
||||
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", |
||||
"integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" |
||||
}, |
||||
"node_modules/@types/cookie": { |
||||
"version": "0.4.1", |
||||
"resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", |
||||
"integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" |
||||
}, |
||||
"node_modules/@types/cors": { |
||||
"version": "2.8.12", |
||||
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", |
||||
"integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" |
||||
}, |
||||
"node_modules/@types/node": { |
||||
"version": "17.0.45", |
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", |
||||
"integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" |
||||
}, |
||||
"node_modules/accepts": { |
||||
"version": "1.3.8", |
||||
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", |
||||
"integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", |
||||
"dependencies": { |
||||
"mime-types": "~2.1.34", |
||||
"negotiator": "0.6.3" |
||||
}, |
||||
"engines": { |
||||
"node": ">= 0.6" |
||||
} |
||||
}, |
||||
"node_modules/base64id": { |
||||
"version": "2.0.0", |
||||
"resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", |
||||
"integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", |
||||
"engines": { |
||||
"node": "^4.5.0 || >= 5.9" |
||||
} |
||||
}, |
||||
"node_modules/cookie": { |
||||
"version": "0.4.2", |
||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", |
||||
"integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", |
||||
"engines": { |
||||
"node": ">= 0.6" |
||||
} |
||||
}, |
||||
"node_modules/cors": { |
||||
"version": "2.8.5", |
||||
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", |
||||
"integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", |
||||
"dependencies": { |
||||
"object-assign": "^4", |
||||
"vary": "^1" |
||||
}, |
||||
"engines": { |
||||
"node": ">= 0.10" |
||||
} |
||||
}, |
||||
"node_modules/debug": { |
||||
"version": "4.3.4", |
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", |
||||
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", |
||||
"dependencies": { |
||||
"ms": "2.1.2" |
||||
}, |
||||
"engines": { |
||||
"node": ">=6.0" |
||||
}, |
||||
"peerDependenciesMeta": { |
||||
"supports-color": { |
||||
"optional": true |
||||
} |
||||
} |
||||
}, |
||||
"node_modules/dotenv": { |
||||
"version": "16.0.3", |
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", |
||||
"integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", |
||||
"engines": { |
||||
"node": ">=12" |
||||
} |
||||
}, |
||||
"node_modules/engine.io": { |
||||
"version": "6.2.0", |
||||
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz", |
||||
"integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==", |
||||
"dependencies": { |
||||
"@types/cookie": "^0.4.1", |
||||
"@types/cors": "^2.8.12", |
||||
"@types/node": ">=10.0.0", |
||||
"accepts": "~1.3.4", |
||||
"base64id": "2.0.0", |
||||
"cookie": "~0.4.1", |
||||
"cors": "~2.8.5", |
||||
"debug": "~4.3.1", |
||||
"engine.io-parser": "~5.0.3", |
||||
"ws": "~8.2.3" |
||||
}, |
||||
"engines": { |
||||
"node": ">=10.0.0" |
||||
} |
||||
}, |
||||
"node_modules/engine.io-parser": { |
||||
"version": "5.0.4", |
||||
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", |
||||
"integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==", |
||||
"engines": { |
||||
"node": ">=10.0.0" |
||||
} |
||||
}, |
||||
"node_modules/https": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/https/-/https-1.0.0.tgz", |
||||
"integrity": "sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg==" |
||||
}, |
||||
"node_modules/ini": { |
||||
"version": "2.0.0", |
||||
"resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", |
||||
"integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", |
||||
"engines": { |
||||
"node": ">=10" |
||||
} |
||||
}, |
||||
"node_modules/mime-db": { |
||||
"version": "1.52.0", |
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", |
||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", |
||||
"engines": { |
||||
"node": ">= 0.6" |
||||
} |
||||
}, |
||||
"node_modules/mime-types": { |
||||
"version": "2.1.35", |
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", |
||||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", |
||||
"dependencies": { |
||||
"mime-db": "1.52.0" |
||||
}, |
||||
"engines": { |
||||
"node": ">= 0.6" |
||||
} |
||||
}, |
||||
"node_modules/ms": { |
||||
"version": "2.1.2", |
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", |
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" |
||||
}, |
||||
"node_modules/negotiator": { |
||||
"version": "0.6.3", |
||||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", |
||||
"integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", |
||||
"engines": { |
||||
"node": ">= 0.6" |
||||
} |
||||
}, |
||||
"node_modules/object-assign": { |
||||
"version": "4.1.1", |
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", |
||||
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", |
||||
"engines": { |
||||
"node": ">=0.10.0" |
||||
} |
||||
}, |
||||
"node_modules/socket.io": { |
||||
"version": "4.5.3", |
||||
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.3.tgz", |
||||
"integrity": "sha512-zdpnnKU+H6mOp7nYRXH4GNv1ux6HL6+lHL8g7Ds7Lj8CkdK1jJK/dlwsKDculbyOHifcJ0Pr/yeXnZQ5GeFrcg==", |
||||
"dependencies": { |
||||
"accepts": "~1.3.4", |
||||
"base64id": "~2.0.0", |
||||
"debug": "~4.3.2", |
||||
"engine.io": "~6.2.0", |
||||
"socket.io-adapter": "~2.4.0", |
||||
"socket.io-parser": "~4.2.0" |
||||
}, |
||||
"engines": { |
||||
"node": ">=10.0.0" |
||||
} |
||||
}, |
||||
"node_modules/socket.io-adapter": { |
||||
"version": "2.4.0", |
||||
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", |
||||
"integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==" |
||||
}, |
||||
"node_modules/socket.io-parser": { |
||||
"version": "4.2.1", |
||||
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz", |
||||
"integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==", |
||||
"dependencies": { |
||||
"@socket.io/component-emitter": "~3.1.0", |
||||
"debug": "~4.3.1" |
||||
}, |
||||
"engines": { |
||||
"node": ">=10.0.0" |
||||
} |
||||
}, |
||||
"node_modules/typescript": { |
||||
"version": "4.8.4", |
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", |
||||
"integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", |
||||
"dev": true, |
||||
"bin": { |
||||
"tsc": "bin/tsc", |
||||
"tsserver": "bin/tsserver" |
||||
}, |
||||
"engines": { |
||||
"node": ">=4.2.0" |
||||
} |
||||
}, |
||||
"node_modules/vary": { |
||||
"version": "1.1.2", |
||||
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", |
||||
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", |
||||
"engines": { |
||||
"node": ">= 0.8" |
||||
} |
||||
}, |
||||
"node_modules/ws": { |
||||
"version": "8.2.3", |
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", |
||||
"integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", |
||||
"engines": { |
||||
"node": ">=10.0.0" |
||||
}, |
||||
"peerDependencies": { |
||||
"bufferutil": "^4.0.1", |
||||
"utf-8-validate": "^5.0.2" |
||||
}, |
||||
"peerDependenciesMeta": { |
||||
"bufferutil": { |
||||
"optional": true |
||||
}, |
||||
"utf-8-validate": { |
||||
"optional": true |
||||
} |
||||
} |
||||
} |
||||
}, |
||||
"dependencies": { |
||||
"@socket.io/component-emitter": { |
||||
"version": "3.1.0", |
||||
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", |
||||
"integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" |
||||
}, |
||||
"@types/cookie": { |
||||
"version": "0.4.1", |
||||
"resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", |
||||
"integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" |
||||
}, |
||||
"@types/cors": { |
||||
"version": "2.8.12", |
||||
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", |
||||
"integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" |
||||
}, |
||||
"@types/node": { |
||||
"version": "17.0.45", |
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", |
||||
"integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" |
||||
}, |
||||
"accepts": { |
||||
"version": "1.3.8", |
||||
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", |
||||
"integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", |
||||
"requires": { |
||||
"mime-types": "~2.1.34", |
||||
"negotiator": "0.6.3" |
||||
} |
||||
}, |
||||
"base64id": { |
||||
"version": "2.0.0", |
||||
"resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", |
||||
"integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" |
||||
}, |
||||
"cookie": { |
||||
"version": "0.4.2", |
||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", |
||||
"integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" |
||||
}, |
||||
"cors": { |
||||
"version": "2.8.5", |
||||
"resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", |
||||
"integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", |
||||
"requires": { |
||||
"object-assign": "^4", |
||||
"vary": "^1" |
||||
} |
||||
}, |
||||
"debug": { |
||||
"version": "4.3.4", |
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", |
||||
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", |
||||
"requires": { |
||||
"ms": "2.1.2" |
||||
} |
||||
}, |
||||
"dotenv": { |
||||
"version": "16.0.3", |
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", |
||||
"integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==" |
||||
}, |
||||
"engine.io": { |
||||
"version": "6.2.0", |
||||
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz", |
||||
"integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==", |
||||
"requires": { |
||||
"@types/cookie": "^0.4.1", |
||||
"@types/cors": "^2.8.12", |
||||
"@types/node": ">=10.0.0", |
||||
"accepts": "~1.3.4", |
||||
"base64id": "2.0.0", |
||||
"cookie": "~0.4.1", |
||||
"cors": "~2.8.5", |
||||
"debug": "~4.3.1", |
||||
"engine.io-parser": "~5.0.3", |
||||
"ws": "~8.2.3" |
||||
} |
||||
}, |
||||
"engine.io-parser": { |
||||
"version": "5.0.4", |
||||
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", |
||||
"integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==" |
||||
}, |
||||
"https": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/https/-/https-1.0.0.tgz", |
||||
"integrity": "sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg==" |
||||
}, |
||||
"ini": { |
||||
"version": "2.0.0", |
||||
"resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", |
||||
"integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" |
||||
}, |
||||
"mime-db": { |
||||
"version": "1.52.0", |
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", |
||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" |
||||
}, |
||||
"mime-types": { |
||||
"version": "2.1.35", |
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", |
||||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", |
||||
"requires": { |
||||
"mime-db": "1.52.0" |
||||
} |
||||
}, |
||||
"ms": { |
||||
"version": "2.1.2", |
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", |
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" |
||||
}, |
||||
"negotiator": { |
||||
"version": "0.6.3", |
||||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", |
||||
"integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" |
||||
}, |
||||
"object-assign": { |
||||
"version": "4.1.1", |
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", |
||||
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" |
||||
}, |
||||
"socket.io": { |
||||
"version": "4.5.3", |
||||
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.3.tgz", |
||||
"integrity": "sha512-zdpnnKU+H6mOp7nYRXH4GNv1ux6HL6+lHL8g7Ds7Lj8CkdK1jJK/dlwsKDculbyOHifcJ0Pr/yeXnZQ5GeFrcg==", |
||||
"requires": { |
||||
"accepts": "~1.3.4", |
||||
"base64id": "~2.0.0", |
||||
"debug": "~4.3.2", |
||||
"engine.io": "~6.2.0", |
||||
"socket.io-adapter": "~2.4.0", |
||||
"socket.io-parser": "~4.2.0" |
||||
} |
||||
}, |
||||
"socket.io-adapter": { |
||||
"version": "2.4.0", |
||||
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", |
||||
"integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==" |
||||
}, |
||||
"socket.io-parser": { |
||||
"version": "4.2.1", |
||||
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz", |
||||
"integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==", |
||||
"requires": { |
||||
"@socket.io/component-emitter": "~3.1.0", |
||||
"debug": "~4.3.1" |
||||
} |
||||
}, |
||||
"typescript": { |
||||
"version": "4.8.4", |
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", |
||||
"integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", |
||||
"dev": true |
||||
}, |
||||
"vary": { |
||||
"version": "1.1.2", |
||||
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", |
||||
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" |
||||
}, |
||||
"ws": { |
||||
"version": "8.2.3", |
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", |
||||
"integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", |
||||
"requires": {} |
||||
} |
||||
} |
||||
} |
@ -1,45 +1,7 @@ |
||||
'use strict'; |
||||
|
||||
|
||||
import {log} from "./logger"; |
||||
import {ConnectionManager} from "./manager"; |
||||
|
||||
import https = require('https'); |
||||
import {Server} from 'socket.io'; |
||||
import fs = require('fs'); |
||||
|
||||
export function GameServer(useP2P: boolean){ |
||||
let rootDir = __dirname + '/..'; |
||||
|
||||
require("dotenv").config(); |
||||
const httpsPort = parseInt(process.env["HTTPS_PORT"]); |
||||
|
||||
let cert = fs.readFileSync(rootDir + '/ssl_certificate/cert.pem'); |
||||
let key = fs.readFileSync(rootDir + '/ssl_certificate/key.pem'); |
||||
|
||||
let httpsServer = https.createServer({key: key, cert: cert}); |
||||
|
||||
let sIO = new Server(httpsServer, { |
||||
cors: { |
||||
origin: ["https://play.benjamin-kraft.local", "https://dev.play.benjamin-kraft.eu", "https://play.benjamin-kraft.eu"] |
||||
} |
||||
}); |
||||
if (useP2P){ |
||||
const p2p = require('socket.io-p2p-server').Server; |
||||
sIO.use(p2p); |
||||
} |
||||
|
||||
httpsServer.listen(httpsPort); |
||||
|
||||
let connectionManager = new ConnectionManager(sIO); |
||||
|
||||
// On new connection
|
||||
sIO.on('connection', socket => connectionManager.newSocket(socket)); |
||||
|
||||
log('startup', null, null, 'Server is listening on port ' + httpsPort); |
||||
} |
||||
|
||||
export {Room} from "./room" |
||||
export {log} from "./logger" |
||||
export {Client} from "./client" |
||||
export {ServerGame} from "./game_standard" |
||||
export {StartServer} from "./start.js" |
||||
export {Room} from "./room.js" |
||||
export {log} from "./logger.js" |
||||
export {Client} from "./client.js" |
||||
export {ServerGame} from "./game_standard.js" |
||||
|
@ -1,90 +0,0 @@ |
||||
export class Vector { |
||||
|
||||
x: number; |
||||
y: number; |
||||
|
||||
constructor(x: number, y: number) { |
||||
this.x = x; |
||||
this.y = y |
||||
} |
||||
|
||||
static fromAngle(angle: number) { |
||||
return new Vector(Math.cos(angle), Math.sin(angle)) |
||||
} |
||||
|
||||
static sub(v1: Vector, v2: Vector) { |
||||
return new Vector(v1.x - v2.x, v1.y - v2.y) |
||||
} |
||||
|
||||
static div(v1: Vector, divider: number): Vector { |
||||
return new Vector(v1.x / divider, v1.y / divider) |
||||
} |
||||
|
||||
add(other: Vector): Vector { |
||||
this.x += other.x; |
||||
this.y += other.y; |
||||
return this |
||||
} |
||||
|
||||
mult(scalar: number): Vector { |
||||
this.x *= scalar; |
||||
this.y *= scalar; |
||||
return this |
||||
} |
||||
|
||||
addMag(length: number): Vector { |
||||
this.setMag(this.mag() + length); |
||||
return this |
||||
} |
||||
|
||||
setMag(length: number): Vector { |
||||
let mag = this.mag(); |
||||
this.x /= mag; |
||||
this.y /= mag; |
||||
this.x *= length; |
||||
this.y *= length; |
||||
return this |
||||
} |
||||
|
||||
rotate(rad: number): Vector { |
||||
let r = this.rotated(rad); |
||||
this.x = r.x; |
||||
this.y = r.y; |
||||
return this |
||||
} |
||||
|
||||
copy(): Vector { |
||||
return new Vector(this.x, this.y) |
||||
} |
||||
|
||||
heading(): number { |
||||
let r = this.rotated(Math.PI / -2); |
||||
return Math.atan2(r.x, -r.y) |
||||
} |
||||
|
||||
mag() { |
||||
return Math.sqrt(this.x * this.x + this.y * this.y) |
||||
} |
||||
|
||||
serialized(): Serialized.Vector { |
||||
return { |
||||
x: this.x, |
||||
y: this.y |
||||
}; |
||||
} |
||||
|
||||
private rotated(rad: number): Vector { |
||||
let x = Math.cos(rad) * this.x - Math.sin(rad) * this.y, |
||||
y = Math.sin(rad) * this.x + Math.cos(rad) * this.y; |
||||
return new Vector(x, y) |
||||
} |
||||
} |
||||
|
||||
export let p = { |
||||
createVector: (x: number, y: number): Vector => { |
||||
return new Vector(x, y) |
||||
}, |
||||
dist: (x1: number, y1: number, x2: number, y2: number): number => { |
||||
return Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2)) |
||||
} |
||||
}; |
@ -0,0 +1,41 @@ |
||||
import {ConnectionManager} from "./manager.js"; |
||||
import {log} from "./logger.js"; |
||||
|
||||
import https from 'https'; |
||||
import {Server} from 'socket.io'; |
||||
import fs from 'fs'; |
||||
import { Settings } from "./definitions/settings"; |
||||
import {Room} from "./room.js"; |
||||
|
||||
export function StartServer(settings: Settings.Server){ |
||||
let rootDir = __dirname + '/..'; |
||||
|
||||
require("dotenv").config(); |
||||
const httpsPort = parseInt(process.env["HTTPS_PORT"]); |
||||
|
||||
let cert = fs.readFileSync(rootDir + '/ssl_certificate/cert.pem'); |
||||
let key = fs.readFileSync(rootDir + '/ssl_certificate/key.pem'); |
||||
|
||||
let httpsServer = https.createServer({key: key, cert: cert}); |
||||
|
||||
let sIO = new Server(httpsServer, { |
||||
cors: { |
||||
origin: ["https://play.benjamin-kraft.local", "https://dev.play.benjamin-kraft.eu", "https://play.benjamin-kraft.eu"] |
||||
} |
||||
}); |
||||
if (settings.useP2P){ |
||||
const p2p = require('socket.io-p2p-server').Server; |
||||
sIO.use(p2p); |
||||
} |
||||
|
||||
httpsServer.listen(httpsPort); |
||||
|
||||
Room.GameClass = settings.gameClass; |
||||
|
||||
let connectionManager = new ConnectionManager(sIO); |
||||
|
||||
// On new connection
|
||||
sIO.on('connection', socket => connectionManager.newSocket(socket)); |
||||
|
||||
log('startup', null, null, 'Server is listening on port ' + httpsPort); |
||||
} |
Loading…
Reference in new issue