From 0fbefbe62899c0d3a27e7f244501e5d500b1fd08 Mon Sep 17 00:00:00 2001 From: Merijn Hendriks Date: Wed, 29 Dec 2021 00:37:50 +0100 Subject: [PATCH] Improve build configuration and instructions --- .gitignore | 1 + .vscode/tasks.json | 12 +++---- .../PublishProfiles/linux-x64.pubxml | 16 +++++++++ .../Properties/PublishProfiles/osx-x64.pubxml | 16 +++++++++ .../Properties/PublishProfiles/win-x64.pubxml | 17 +++++++++ README.md | 13 +------ Server/package.json | 8 ++--- docs/getstarted.md | 35 +++++++++++++++++++ docs/notes.md | 5 +++ 9 files changed, 101 insertions(+), 22 deletions(-) create mode 100644 Launcher/Properties/PublishProfiles/linux-x64.pubxml create mode 100644 Launcher/Properties/PublishProfiles/osx-x64.pubxml create mode 100644 Launcher/Properties/PublishProfiles/win-x64.pubxml create mode 100644 docs/getstarted.md diff --git a/.gitignore b/.gitignore index 112b4bf..977e031 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ package-lock.json .vs bin obj +*.user # ---> Node # Logs diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 9df32ef..f4ccea9 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -2,7 +2,7 @@ "version": "2.0.0", "tasks": [ { - "label": "release: server", + "label": "build: server", "type": "shell", "linux": { "command": "npm --prefix Server run release:any" @@ -11,20 +11,20 @@ "command": "npm --prefix Server run release:any" }, "windows": { - "command": "npm --prefix Server run release:win" + "command": "npm --prefix Server run build" } }, { - "label": "release: launcher", + "label": "build: launcher", "type": "shell", "linux": { - "command": "dotnet publish Launcher/Launcher.csproj --nologo --verbosity minimal --runtime linux-x64 --configuration Release -p:PublishSingleFile=true --no-self-contained" + "command": "dotnet publish Launcher/Launcher.csproj /p:PublishProfile=Launcher/Properties/PublishProfiles/linux-x64.pubxml" }, "osx": { - "command": "dotnet publish Launcher/Launcher.csproj --nologo --verbosity minimal --runtime osx-x64 --configuration Release -p:PublishSingleFile=true --no-self-contained" + "command": "dotnet publish Launcher/Launcher.csproj /p:PublishProfile=Launcher/Properties/PublishProfiles/osx-x64.pubxml" }, "windows": { - "command": "dotnet publish Launcher/Launcher.csproj --nologo --verbosity minimal --runtime win-x64 --configuration Release -p:PublishSingleFile=true --no-self-contained" + "command": "dotnet publish Launcher/Launcher.csproj /p:PublishProfile=Launcher/Properties/PublishProfiles/win-x64.pubxml" } } ] diff --git a/Launcher/Properties/PublishProfiles/linux-x64.pubxml b/Launcher/Properties/PublishProfiles/linux-x64.pubxml new file mode 100644 index 0000000..449375c --- /dev/null +++ b/Launcher/Properties/PublishProfiles/linux-x64.pubxml @@ -0,0 +1,16 @@ + + + + + Release + Any CPU + bin\Release\net6.0\publish\linux-x64\ + FileSystem + net6.0 + linux-x64 + false + True + + \ No newline at end of file diff --git a/Launcher/Properties/PublishProfiles/osx-x64.pubxml b/Launcher/Properties/PublishProfiles/osx-x64.pubxml new file mode 100644 index 0000000..bee8a35 --- /dev/null +++ b/Launcher/Properties/PublishProfiles/osx-x64.pubxml @@ -0,0 +1,16 @@ + + + + + Release + Any CPU + bin\Release\net6.0\publish\osx-x64\ + FileSystem + net6.0 + osx-x64 + false + True + + \ No newline at end of file diff --git a/Launcher/Properties/PublishProfiles/win-x64.pubxml b/Launcher/Properties/PublishProfiles/win-x64.pubxml new file mode 100644 index 0000000..d689ff8 --- /dev/null +++ b/Launcher/Properties/PublishProfiles/win-x64.pubxml @@ -0,0 +1,17 @@ + + + + + Release + Any CPU + bin\Release\net6.0\publish\win-x64\ + FileSystem + net6.0 + win-x64 + false + True + False + + \ No newline at end of file diff --git a/README.md b/README.md index e367d30..36ff0cb 100644 --- a/README.md +++ b/README.md @@ -7,20 +7,9 @@ Prototype server for Escape From Tarkov The goal is to provide a minimal implementation to allow people to play an offline raid. It does not aim at being correct, fast or moddable but instead to be simple. -## Requirements - -- visual studio 2022 - - node.js workload - - .net desktop workload - ## Setup -VS2022 > Solution Explorer > Server > npm > install npm Packages - -## Build - -1. VSCode > Terminal > Run Task > release: launcher -2. VSCode > Terminal > Run Task > release: server +See [getting started](docs/getstarted.md) for more information. ## License diff --git a/Server/package.json b/Server/package.json index b037414..9cb577b 100644 --- a/Server/package.json +++ b/Server/package.json @@ -4,16 +4,16 @@ "version": "1.0.0", "license": "NCSA", "scripts": { - "build": "tsc --build", + "build:ts": "npx tsc --build", "build:babel": "npx babel src --extensions \".ts\" --out-dir obj/babel", "build:bundle": "npx browserify --debug --node obj/babel/main.js > obj/server.js", "build:exe": "npx nexe -t x64-14.15.3 -i obj/server.js -o bin/Server.exe", "build:icon": "cd node_modules/rcedit/bin && rcedit-x64.exe ../../../bin/Server.exe --set-icon ../../../assets/images/favicon.ico", - "debug": "npm run build:babel && npm run build:bundle && node --trace-warnings obj/server.js", + "build": "npm run release:any && npm run build:icon", + "debug": "npm run release:any && node --trace-warnings obj/server.js", "lint:fix": "npx eslint --fix \"./src/**/*.ts\"", "lint:check": "npx eslint \"./src/**/*.ts\"", - "release:any": "npm run build:babel && npm run build:bundle && npm run build:exe", - "release:win": "npm run release:any && npm run build:icon" + "release:any": "npm run build:ts && npm run build:babel && npm run build:bundle && npm run build:exe" }, "dependencies": { "source-map-support": "^0.5.0", diff --git a/docs/getstarted.md b/docs/getstarted.md new file mode 100644 index 0000000..96af6ef --- /dev/null +++ b/docs/getstarted.md @@ -0,0 +1,35 @@ +# Getting started + +## Visual Studio 2022 + +### Requirements + +- node.js workload +- .net desktop workload + +### Setup + +Solution Explorer > Server > npm > install npm Packages + +### Build + +1. Solution Explorer > Launcher > Publish +2. Solution Explorer > Server > build + +## Visual Studio Code + +### Requirements + +- visual studio code +- dotnet 6.0 sdk +- nodejs 14.0.0 or newer +- npm + +### Setup + +`npm --prefix Server install` + +### Build + +1. Terminal > Run Task > release: launcher +2. Terminal > Run Task > release: server diff --git a/docs/notes.md b/docs/notes.md index 9eab7cf..7b9e78b 100644 --- a/docs/notes.md +++ b/docs/notes.md @@ -1,5 +1,10 @@ # Notes +## Environment + +- `build` script in `package.json` is configured for `Visual Studio 2022`'s special needs. + Building the server project will not work otherwise. + ## Implementation - EFT http request / response does not respect headers, data is always zlibbed