Merge branch 'master' of https://github.com/alterware/master-server with branding removal

This commit is contained in:
Ahrimdon 2024-02-25 14:27:18 -05:00
parent 61b6161768
commit 0b93d1b6f1
5 changed files with 163 additions and 55 deletions

View File

@ -13,6 +13,9 @@ concurrency:
group: ${{ github.ref }} group: ${{ github.ref }}
cancel-in-progress: true cancel-in-progress: true
env:
PREMAKE_VERSION: "5.0.0-beta2"
jobs: jobs:
build-win: build-win:
name: Build Windows name: Build Windows
@ -21,8 +24,8 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
configuration: configuration:
- Debug - debug
- Release - release
arch: arch:
- x64 - x64
include: include:
@ -30,7 +33,7 @@ jobs:
platform: x64 platform: x64
steps: steps:
- name: Check out files - name: Check out files
uses: actions/checkout@v4 uses: actions/checkout@main
with: with:
submodules: true submodules: true
fetch-depth: 0 fetch-depth: 0
@ -38,12 +41,12 @@ jobs:
lfs: false lfs: false
- name: Add msbuild to PATH - name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.3.1 uses: microsoft/setup-msbuild@main
- name: Install Premake5 - name: Install Premake5
uses: abel0b/setup-premake@v2.3 uses: abel0b/setup-premake@v2.3
with: with:
version: "5.0.0-beta2" version: ${{ env.PREMAKE_VERSION }}
- name: Generate project files - name: Generate project files
run: premake5 vs2022 run: premake5 vs2022
@ -51,13 +54,13 @@ jobs:
- name: Set up problem matching - name: Set up problem matching
uses: ammaraskar/msvc-problem-matcher@master 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 run: msbuild /m /v:minimal /p:Configuration=${{matrix.configuration}} /p:Platform=${{matrix.platform}} build/master-server.sln
- name: Upload ${{matrix.configuration}} ${{matrix.arch}} binaries - name: Upload ${{matrix.arch}} ${{matrix.configuration}} binaries
uses: actions/upload-artifact@v3.1.3 uses: actions/upload-artifact@main
with: with:
name: Windows ${{matrix.configuration}} ${{matrix.arch}} binaries name: windows-${{matrix.arch}}-${{matrix.configuration}}
path: | path: |
build/bin/${{matrix.arch}}/${{matrix.configuration}}/master-server.exe build/bin/${{matrix.arch}}/${{matrix.configuration}}/master-server.exe
build/bin/${{matrix.arch}}/${{matrix.configuration}}/master-server.pdb build/bin/${{matrix.arch}}/${{matrix.configuration}}/master-server.pdb
@ -69,18 +72,13 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
configuration: configuration:
- Debug - debug
- Release - release
arch: arch:
- x64 - x64
include:
- configuration: Debug
config: debug
- configuration: Release
config: release
steps: steps:
- name: Check out files - name: Check out files
uses: actions/checkout@v4 uses: actions/checkout@main
with: with:
submodules: true submodules: true
fetch-depth: 0 fetch-depth: 0
@ -96,7 +94,7 @@ jobs:
- name: Install Premake5 - name: Install Premake5
uses: abel0b/setup-premake@v2.3 uses: abel0b/setup-premake@v2.3
with: with:
version: "5.0.0-beta2" version: ${{ env.PREMAKE_VERSION }}
- name: Generate project files - name: Generate project files
run: premake5 --cc=clang gmake2 run: premake5 --cc=clang gmake2
@ -104,18 +102,18 @@ jobs:
- name: Set up problem matching - name: Set up problem matching
uses: ammaraskar/gcc-problem-matcher@master uses: ammaraskar/gcc-problem-matcher@master
- name: Build ${{matrix.configuration}} ${{matrix.arch}} binaries - name: Build ${{matrix.arch}} ${{matrix.configuration}} binaries
run: | run: |
pushd build pushd build
make config=${{matrix.config}}_${{matrix.arch}} -j$(nproc) make config=${{matrix.configuration}}_${{matrix.arch}} -j$(nproc)
env: env:
CC: clang CC: clang
CXX: clang++ CXX: clang++
- name: Upload ${{matrix.configuration}} ${{matrix.arch}} binaries - name: Upload ${{matrix.arch}} ${{matrix.configuration}} binaries
uses: actions/upload-artifact@v3.1.3 uses: actions/upload-artifact@main
with: with:
name: Linux ${{matrix.configuration}} ${{matrix.arch}} binaries name: linux-${{matrix.arch}}-${{matrix.configuration}}
path: | path: |
build/bin/${{matrix.arch}}/${{matrix.configuration}}/master-server build/bin/${{matrix.arch}}/${{matrix.configuration}}/master-server
@ -126,23 +124,14 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
configuration: configuration:
- Debug - debug
- Release - release
arch: arch:
- x64 - x64
- arm64 - arm64
include:
- configuration: Debug
config: debug
- configuration: Release
config: release
- arch: x64
platform: x64
- arch: arm64
platform: arm64
steps: steps:
- name: Check out files - name: Check out files
uses: actions/checkout@v4 uses: actions/checkout@main
with: with:
submodules: true submodules: true
fetch-depth: 0 fetch-depth: 0
@ -152,7 +141,7 @@ jobs:
- name: Install Premake5 - name: Install Premake5
uses: abel0b/setup-premake@v2.3 uses: abel0b/setup-premake@v2.3
with: with:
version: "5.0.0-beta2" version: ${{ env.PREMAKE_VERSION }}
- name: Generate project files - name: Generate project files
run: premake5 gmake2 run: premake5 gmake2
@ -160,14 +149,44 @@ jobs:
- name: Set up problem matching - name: Set up problem matching
uses: ammaraskar/gcc-problem-matcher@master uses: ammaraskar/gcc-problem-matcher@master
- name: Build ${{matrix.configuration}} ${{matrix.arch}} binaries - name: Build ${{matrix.arch}} ${{matrix.configuration}} binaries
run: | run: |
pushd build 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 - name: Upload ${{matrix.arch}} ${{matrix.configuration}} binaries
uses: actions/upload-artifact@v3.1.3 uses: actions/upload-artifact@main
with: with:
name: macOS ${{matrix.configuration}} ${{matrix.arch}} binaries name: macos-${{matrix.arch}}-${{matrix.configuration}}
path: | path: |
build/bin/${{matrix.arch}}/${{matrix.configuration}}/master-server 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 }}

View File

@ -5,7 +5,7 @@
This is the master server our clients use. It is based on the DP Master Server (ID Tech) protocol This is the master server our clients use. It is based on the DP Master Server (ID Tech) protocol
## Build ## 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] - Clone this repository using [Git][git-link]
- Update the submodules using ``git submodule update --init --recursive`` - 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) - Run Premake with either of these two options ``premake5 vs2022`` (Windows) or ``premake5 gmake2`` (Linux/macOS)
@ -21,4 +21,4 @@ Requirements for Unix systems:
[premake5-link]: https://premake.github.io [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 [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

View File

@ -36,7 +36,7 @@ location "./build"
objdir "%{wks.location}/obj" objdir "%{wks.location}/obj"
targetdir "%{wks.location}/bin/%{cfg.platform}/%{cfg.buildcfg}" targetdir "%{wks.location}/bin/%{cfg.platform}/%{cfg.buildcfg}"
configurations {"Debug", "Release"} configurations {"debug", "release"}
language "C++" language "C++"
cppdialect "C++20" cppdialect "C++20"
@ -100,13 +100,13 @@ end
flags {"NoIncrementalLink", "NoMinimalRebuild", "MultiProcessorCompile", "No64BitChecks"} flags {"NoIncrementalLink", "NoMinimalRebuild", "MultiProcessorCompile", "No64BitChecks"}
filter "configurations:Release" filter "configurations:release"
optimize "Size" optimize "Size"
defines "NDEBUG" defines "NDEBUG"
flags "FatalCompileWarnings" flags "FatalCompileWarnings"
filter {} filter {}
filter "configurations:Debug" filter "configurations:debug"
optimize "Debug" optimize "Debug"
defines {"DEBUG", "_DEBUG"} defines {"DEBUG", "_DEBUG"}
filter {} filter {}

View File

@ -30,8 +30,8 @@ namespace
int main(const int argc, const char** argv) int main(const int argc, const char** argv)
{ {
console::set_title("AlterWare Master"); console::set_title("Master Server");
console::log("AlterWare Master"); console::log("Master Server");
try try
{ {

View File

@ -10,81 +10,170 @@ const char* getbots_command::get_command() const
void getbots_command::handle_command(const network::address& target, const std::string_view&) void getbots_command::handle_command(const network::address& target, const std::string_view&)
{ {
static const std::vector<std::string> bot_names static const std::array bot_names
{ {
"6arelyhuman",
"aerosoul", "aerosoul",
"All Night",
"Another World",
"Ash", "Ash",
"asmjit", "asmjit",
"avail", "avail",
"Barack Obama",
"barbie slut",
"Barbie Whore",
"Berlusconi",
"Bimbo Suicide",
"bimbo",
"Blow Up!",
"Boston",
"Bubbles", "Bubbles",
"Caliber",
"CAPTAINJERKFACE",
"Catalyst", "Catalyst",
"Cenote",
"Chicago",
"clang", "clang",
"Cressi", "Cressi",
"Cypress", "Cypress",
"DANCE! Till We Die",
"David Guetta", "David Guetta",
"Death city",
"Debian",
"Devil's Spring",
"Diamante", "Diamante",
"Diavolo", "Diavolo",
"Disgusting",
"DKo5",
"Do U Luv Me",
"Do U",
"Don't Like Anybody",
"don't touch my hair",
"Donald Trump",
"drama queenz",
"Dsso", "Dsso",
"Eagle's Nest",
"Eat Me",
"Eldor", "Eldor",
"Evan", "Evan",
"Eve", "Eve",
"Eyelashes on",
"feeling nothing",
"Flex190",
"FOURZEROTWO",
"FragsAreUs", "FragsAreUs",
"FryTechTip", "FryTechTip",
"Furry", "Furry",
"FutureRave", "FutureRave",
"Ginnie Springs",
"Girl", "Girl",
"GMFU",
"Go Crazy",
"gsc-tool", "gsc-tool",
"H3X1C", "H3X1C",
"Hands up!",
"Helium", "Helium",
"Hey Dj",
"Higher",
"Hinder", "Hinder",
"homura", "homura",
"Horizon - SCR",
"Hypocrite",
"INeedBots", "INeedBots",
"INeedGames", "INeedGames",
"Infamous", "Infamous",
"Inferno", "Inferno",
"InfinityScript",
"Jack Back", "Jack Back",
"Jebus3211", "Jebus3211",
"JetFins",
"JezuzLizard", "JezuzLizard",
"Jimbo", "Jimbo",
"Kordhell", "Joe Biden",
"Lifeline",
"Joel", "Joel",
"JTAG", "JTAG",
"King Crimson",
"KiraFoxAF",
"KonaFuzzButt",
"Kordhell",
"Laupetin", "Laupetin",
"Level Up!",
"Lifeline",
"Like a G6",
"llvm-project", "llvm-project",
"Loba", "Loba",
"Loona", "Loona",
"Loudward",
"Louvenarde", "Louvenarde",
"Mares", "Mares",
"Mattarella",
"momo5502", "momo5502",
"Montreal",
"MSVC",
"MUPP", "MUPP",
"mxve", "mxve",
"My Flaws",
"Neapolis",
"New York",
"Nightzy",
"Non-binary Jesus",
"OneFourOne", "OneFourOne",
"OpenAssetTools", "OpenAssetTools",
"Parking Lot",
"PeterG", "PeterG",
"pgriffin69x",
"Poker Face",
"Portobello",
"Portofino",
"PottyMouth", "PottyMouth",
"quaK", "quaK",
"RaidMax", "RaidMax",
"ramzi1337hak0r",
"rapidjson", "rapidjson",
"rEvoRebreather", "Read Sea",
"RektInator", "RektInator",
"Resxt", "Resxt",
"rEvoRebreather",
"RezTech", "RezTech",
"Roxie", "Roxie",
"Santi Diving", "Santi Diving",
"sass", "Sass",
"saysupshelly",
"Scarlxrd", "Scarlxrd",
"scene high",
"SCUBAPRO",
"Serious",
"Sestriere",
"Slay Everyday",
"Sloth", "Sloth",
"SLUT SZN",
"Slykuiper", "Slykuiper",
"Snake", "Snake",
"Sparky", "Sparky",
"Squirrel", "Squirrel",
"st0rm", "st0rm",
"Stalk Me",
"StarBerry",
"Titanium",
"Trimix",
"turn it up",
"TwinLeaf",
"Ubuntu",
"ur my heroin",
"Ur Vampire",
"Valkyrie", "Valkyrie",
"Wattson", "Violence",
"Vore",
"Wanted", "Wanted",
"Wattson",
"Wereric",
"X Party",
"xensik", "xensik",
"XOXO (Kisses Hugs)",
"xoxor4d", "xoxor4d",
"XXXTENSIONS",
"You & Me",
"Yummy",
"ZoneBuilder", "ZoneBuilder",
"ZoneTool", "ZoneTool",
}; };