From 0b93d1b6f1861b4490bde04a11693b011a9c32c8 Mon Sep 17 00:00:00 2001 From: Ahrimdon Date: Sun, 25 Feb 2024 14:27:18 -0500 Subject: [PATCH] Merge branch 'master' of https://github.com/alterware/master-server with branding removal --- .github/workflows/build.yml | 101 ++++++++++++++++++------------- README.md | 6 +- premake5.lua | 6 +- src/main.cpp | 4 +- src/services/getbots_command.cpp | 101 +++++++++++++++++++++++++++++-- 5 files changed, 163 insertions(+), 55 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8c297e7..5157000 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,6 +13,9 @@ concurrency: group: ${{ github.ref }} cancel-in-progress: true +env: + PREMAKE_VERSION: "5.0.0-beta2" + jobs: build-win: name: Build Windows @@ -21,8 +24,8 @@ jobs: fail-fast: false matrix: configuration: - - Debug - - Release + - debug + - release arch: - x64 include: @@ -30,7 +33,7 @@ jobs: platform: x64 steps: - name: Check out files - uses: actions/checkout@v4 + uses: actions/checkout@main with: submodules: true fetch-depth: 0 @@ -38,12 +41,12 @@ jobs: lfs: false - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v1.3.1 + uses: microsoft/setup-msbuild@main - name: Install Premake5 uses: abel0b/setup-premake@v2.3 with: - version: "5.0.0-beta2" + version: ${{ env.PREMAKE_VERSION }} - name: Generate project files run: premake5 vs2022 @@ -51,13 +54,13 @@ jobs: - name: Set up problem matching uses: ammaraskar/msvc-problem-matcher@master - - name: Build ${{matrix.configuration}} ${{matrix.arch}} binaries + - name: Build ${{matrix.arch}} ${{matrix.configuration}} binaries run: msbuild /m /v:minimal /p:Configuration=${{matrix.configuration}} /p:Platform=${{matrix.platform}} build/master-server.sln - - name: Upload ${{matrix.configuration}} ${{matrix.arch}} binaries - uses: actions/upload-artifact@v3.1.3 + - name: Upload ${{matrix.arch}} ${{matrix.configuration}} binaries + uses: actions/upload-artifact@main with: - name: Windows ${{matrix.configuration}} ${{matrix.arch}} binaries + name: windows-${{matrix.arch}}-${{matrix.configuration}} path: | build/bin/${{matrix.arch}}/${{matrix.configuration}}/master-server.exe build/bin/${{matrix.arch}}/${{matrix.configuration}}/master-server.pdb @@ -69,18 +72,13 @@ jobs: fail-fast: false matrix: configuration: - - Debug - - Release + - debug + - release arch: - x64 - include: - - configuration: Debug - config: debug - - configuration: Release - config: release steps: - name: Check out files - uses: actions/checkout@v4 + uses: actions/checkout@main with: submodules: true fetch-depth: 0 @@ -96,7 +94,7 @@ jobs: - name: Install Premake5 uses: abel0b/setup-premake@v2.3 with: - version: "5.0.0-beta2" + version: ${{ env.PREMAKE_VERSION }} - name: Generate project files run: premake5 --cc=clang gmake2 @@ -104,18 +102,18 @@ jobs: - name: Set up problem matching uses: ammaraskar/gcc-problem-matcher@master - - name: Build ${{matrix.configuration}} ${{matrix.arch}} binaries + - name: Build ${{matrix.arch}} ${{matrix.configuration}} binaries run: | pushd build - make config=${{matrix.config}}_${{matrix.arch}} -j$(nproc) + make config=${{matrix.configuration}}_${{matrix.arch}} -j$(nproc) env: CC: clang CXX: clang++ - - name: Upload ${{matrix.configuration}} ${{matrix.arch}} binaries - uses: actions/upload-artifact@v3.1.3 + - name: Upload ${{matrix.arch}} ${{matrix.configuration}} binaries + uses: actions/upload-artifact@main with: - name: Linux ${{matrix.configuration}} ${{matrix.arch}} binaries + name: linux-${{matrix.arch}}-${{matrix.configuration}} path: | build/bin/${{matrix.arch}}/${{matrix.configuration}}/master-server @@ -126,23 +124,14 @@ jobs: fail-fast: false matrix: configuration: - - Debug - - Release + - debug + - release arch: - x64 - arm64 - include: - - configuration: Debug - config: debug - - configuration: Release - config: release - - arch: x64 - platform: x64 - - arch: arm64 - platform: arm64 steps: - name: Check out files - uses: actions/checkout@v4 + uses: actions/checkout@main with: submodules: true fetch-depth: 0 @@ -152,7 +141,7 @@ jobs: - name: Install Premake5 uses: abel0b/setup-premake@v2.3 with: - version: "5.0.0-beta2" + version: ${{ env.PREMAKE_VERSION }} - name: Generate project files run: premake5 gmake2 @@ -160,14 +149,44 @@ jobs: - name: Set up problem matching uses: ammaraskar/gcc-problem-matcher@master - - name: Build ${{matrix.configuration}} ${{matrix.arch}} binaries + - name: Build ${{matrix.arch}} ${{matrix.configuration}} binaries run: | pushd build - make config=${{matrix.config}}_${{matrix.arch}} -j$(sysctl -n hw.logicalcpu) + make config=${{matrix.configuration}}_${{matrix.arch}} -j$(sysctl -n hw.logicalcpu) - - name: Upload ${{matrix.configuration}} ${{matrix.arch}} binaries - uses: actions/upload-artifact@v3.1.3 + - name: Upload ${{matrix.arch}} ${{matrix.configuration}} binaries + uses: actions/upload-artifact@main with: - name: macOS ${{matrix.configuration}} ${{matrix.arch}} binaries + name: macos-${{matrix.arch}}-${{matrix.configuration}} path: | build/bin/${{matrix.arch}}/${{matrix.configuration}}/master-server + + deploy: + name: Deploy artifacts + needs: [build-win, build-linux, build-macos] + runs-on: ubuntu-latest + if: github.event_name == 'push' && github.ref == 'refs/heads/master' + steps: + - name: Setup main environment + if: github.ref == 'refs/heads/master' + run: echo "MASTER_SERVER_PATH=${{ secrets.MASTER_SERVER_SSH_PATH }}" >> $GITHUB_ENV + + - name: Download Release binaries + uses: actions/download-artifact@main + with: + name: linux-x64-release + + - name: Install SSH key + uses: shimataro/ssh-key-action@v2.7.0 + with: + key: ${{ secrets.MASTER_SERVER_SSH_PRIVATE_KEY }} + known_hosts: 'just-a-placeholder-so-we-dont-get-errors' + + - name: Add known hosts + run: ssh-keyscan -H ${{ secrets.MASTER_SERVER_SSH_ADDRESS }} >> ~/.ssh/known_hosts + + - name: Upload release binary + run: rsync -avz master-server ${{ secrets.MASTER_SERVER_SSH_USER }}@${{ secrets.MASTER_SERVER_SSH_ADDRESS }}:${{ env.MASTER_SERVER_PATH }}/ + + - name: Publish changes + run: ssh ${{ secrets.MASTER_SERVER_SSH_USER }}@${{ secrets.MASTER_SERVER_SSH_ADDRESS }} ${{ secrets.SSH_SERVER_PUBLISH_COMMAND }} diff --git a/README.md b/README.md index 9f5c924..ff786b3 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ This is the master server our clients use. It is based on the DP Master Server (ID Tech) protocol ## Build -- Install [Premake5](premake5-link) and add it to your system PATH +- Install [Premake5][premake5-link] and add it to your system PATH - Clone this repository using [Git][git-link] - Update the submodules using ``git submodule update --init --recursive`` - Run Premake with either of these two options ``premake5 vs2022`` (Windows) or ``premake5 gmake2`` (Linux/macOS) @@ -19,6 +19,6 @@ Requirements for Unix systems: - Platform support: Details regarding supported platforms are available in [build.yml][build-link] [premake5-link]: https://premake.github.io -[git-link]: https://git-scm.com +[git-link]: https://git-scm.com [mold-link]: https://github.com/rui314/mold -[build-link]: https://github.com/alterware/master-server/blob/master/.github/workflows/build.yml +[build-link]: https://git.rimmyscorner.com/Rim/master-server/src/branch/main/.github/workflows/build.yml diff --git a/premake5.lua b/premake5.lua index bafd039..2c1df1d 100644 --- a/premake5.lua +++ b/premake5.lua @@ -36,7 +36,7 @@ location "./build" objdir "%{wks.location}/obj" targetdir "%{wks.location}/bin/%{cfg.platform}/%{cfg.buildcfg}" -configurations {"Debug", "Release"} +configurations {"debug", "release"} language "C++" cppdialect "C++20" @@ -100,13 +100,13 @@ end flags {"NoIncrementalLink", "NoMinimalRebuild", "MultiProcessorCompile", "No64BitChecks"} -filter "configurations:Release" +filter "configurations:release" optimize "Size" defines "NDEBUG" flags "FatalCompileWarnings" filter {} -filter "configurations:Debug" +filter "configurations:debug" optimize "Debug" defines {"DEBUG", "_DEBUG"} filter {} diff --git a/src/main.cpp b/src/main.cpp index cbc5c31..8c09be1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -30,8 +30,8 @@ namespace int main(const int argc, const char** argv) { - console::set_title("AlterWare Master"); - console::log("AlterWare Master"); + console::set_title("Master Server"); + console::log("Master Server"); try { diff --git a/src/services/getbots_command.cpp b/src/services/getbots_command.cpp index deb0362..e4b5225 100644 --- a/src/services/getbots_command.cpp +++ b/src/services/getbots_command.cpp @@ -10,81 +10,170 @@ const char* getbots_command::get_command() const void getbots_command::handle_command(const network::address& target, const std::string_view&) { - static const std::vector bot_names + static const std::array bot_names { + "6arelyhuman", "aerosoul", + "All Night", + "Another World", "Ash", "asmjit", "avail", + "Barack Obama", + "barbie slut", + "Barbie Whore", + "Berlusconi", + "Bimbo Suicide", + "bimbo", + "Blow Up!", + "Boston", "Bubbles", + "Caliber", + "CAPTAINJERKFACE", "Catalyst", + "Cenote", + "Chicago", "clang", "Cressi", "Cypress", + "DANCE! Till We Die", "David Guetta", + "Death city", + "Debian", + "Devil's Spring", "Diamante", "Diavolo", + "Disgusting", + "DKo5", + "Do U Luv Me", + "Do U", + "Don't Like Anybody", + "don't touch my hair", + "Donald Trump", + "drama queenz", "Dsso", + "Eagle's Nest", + "Eat Me", "Eldor", "Evan", "Eve", + "Eyelashes on", + "feeling nothing", + "Flex190", + "FOURZEROTWO", "FragsAreUs", "FryTechTip", "Furry", "FutureRave", + "Ginnie Springs", "Girl", + "GMFU", + "Go Crazy", "gsc-tool", "H3X1C", + "Hands up!", "Helium", + "Hey Dj", + "Higher", "Hinder", "homura", + "Horizon - SCR", + "Hypocrite", "INeedBots", "INeedGames", "Infamous", "Inferno", + "InfinityScript", "Jack Back", "Jebus3211", + "JetFins", "JezuzLizard", "Jimbo", - "Kordhell", - "Lifeline", + "Joe Biden", "Joel", "JTAG", + "King Crimson", + "KiraFoxAF", + "KonaFuzzButt", + "Kordhell", "Laupetin", + "Level Up!", + "Lifeline", + "Like a G6", "llvm-project", "Loba", "Loona", + "Loudward", "Louvenarde", "Mares", + "Mattarella", "momo5502", + "Montreal", + "MSVC", "MUPP", "mxve", + "My Flaws", + "Neapolis", + "New York", + "Nightzy", + "Non-binary Jesus", "OneFourOne", "OpenAssetTools", + "Parking Lot", "PeterG", + "pgriffin69x", + "Poker Face", + "Portobello", + "Portofino", "PottyMouth", "quaK", "RaidMax", + "ramzi1337hak0r", "rapidjson", - "rEvoRebreather", + "Read Sea", "RektInator", "Resxt", + "rEvoRebreather", "RezTech", "Roxie", "Santi Diving", - "sass", + "Sass", + "saysupshelly", "Scarlxrd", + "scene high", + "SCUBAPRO", + "Serious", + "Sestriere", + "Slay Everyday", "Sloth", + "SLUT SZN", "Slykuiper", "Snake", "Sparky", "Squirrel", "st0rm", + "Stalk Me", + "StarBerry", + "Titanium", + "Trimix", + "turn it up", + "TwinLeaf", + "Ubuntu", + "ur my heroin", + "Ur Vampire", "Valkyrie", - "Wattson", + "Violence", + "Vore", "Wanted", + "Wattson", + "Wereric", + "X Party", "xensik", + "XOXO (Kisses Hugs)", "xoxor4d", + "XXXTENSIONS", + "You & Me", + "Yummy", "ZoneBuilder", "ZoneTool", };