Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add -map-threads parameter support + 510 backwards compatibility and testing #1464

Merged
merged 84 commits into from
Jul 13, 2023
Merged
Show file tree
Hide file tree
Changes from 83 commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
e1f471b
Add -map-threads parameter support
Cyberboss Apr 29, 2023
a7a8c92
Add additional testing for BYOND features like dd.exe and -map-threads.
Cyberboss Apr 29, 2023
83ef8c5
Windows firewall rules now specify which version of BYOND they are for.
Cyberboss Apr 29, 2023
6b0a412
Merge branch 'dev' into 1458-AddMapThreadsParam
Cyberboss Apr 29, 2023
ec2e4be
Merge branch 'dev' of https://github.com/tgstation/tgstation-server i…
Cyberboss Apr 29, 2023
3a63170
Merge branch 'dev' into 1458-AddMapThreadsParam
Cyberboss Jun 14, 2023
51b7792
CachingFileDownloader now builds the cache
Cyberboss Jun 14, 2023
f3df371
Backwards compatibility DMAPI tests
Cyberboss Jun 14, 2023
69af0ac
Fix secure.byond.com links
Cyberboss Jun 14, 2023
76cc15a
LUMMOX SAID 1609 FOR MAP THREADS
Cyberboss Jun 14, 2023
6ad5f62
Merge branch 'dev' of https://github.com/tgstation/tgstation-server i…
Cyberboss Jun 14, 2023
1a3e0fe
Configuration option to disable dd.exe usage
Cyberboss Jun 15, 2023
33d8dca
Fix IrcProvider indentation
Cyberboss Jun 15, 2023
d441f50
Fix SessionController.SetRebootState return value
Cyberboss Jun 15, 2023
fb47ad5
Revert the config change for not using DD.exe
Cyberboss Jun 15, 2023
541d37a
Fix EDGE DMAPI check
Cyberboss Jun 15, 2023
18c03a9
512 DMAPI compatibility
Cyberboss Jun 15, 2023
8dd181d
511 DMAPI compatibility + CI
Cyberboss Jun 15, 2023
5957095
510 DMAPI CI
Cyberboss Jun 15, 2023
a298ba4
Merge branch 'dev' into 1458-AddMapThreadsParam
Cyberboss Jun 16, 2023
6f598f3
Merge branch 'dev' into 1458-AddMapThreadsParam
Cyberboss Jun 20, 2023
9c6a806
Merge branch 'dev' into 1458-AddMapThreadsParam
Cyberboss Jun 21, 2023
f40a2c7
Merge branch 'dev' into 1458-AddMapThreadsParam
Cyberboss Jun 21, 2023
776c804
Deal with that annoying file that appears after migration generation
Cyberboss Jun 22, 2023
21e7986
Regenerate MapThreads migration as it has drifted
Cyberboss Jun 22, 2023
a737238
Fix some ArgumetNullException checks
Cyberboss Jun 22, 2023
13d5bde
Merge branch 'dev' into 1458-AddMapThreadsParam
Cyberboss Jun 22, 2023
72afd1f
Merge branch 'dev' into 1458-AddMapThreadsParam
Cyberboss Jul 4, 2023
4eb19e7
Change Processes to use `.WaitForExitAsync()`
Cyberboss Jul 4, 2023
f2d70f7
Remove unnecessary `SessionConfiguration` from WindowByondInstaller`
Cyberboss Jul 4, 2023
d47f671
Merge branch 'dev' into '1458-AddMapThreadsParam'
Cyberboss Jul 5, 2023
70f0033
Update README badges somewhat
Cyberboss Jul 5, 2023
89b3209
Fix issues with CachingFileDownloader in actions
Cyberboss Jul 5, 2023
4fb57b6
Fix use after `Dispose()` race condition
Cyberboss Jul 7, 2023
d2939c4
Adjust runsettings for GitHub test logger
Cyberboss Jul 7, 2023
7a91ab2
More verbose test output for actions
Cyberboss Jul 7, 2023
c1f4393
Test oldest compatible BYOND version in Live test
Cyberboss Jul 7, 2023
f31be02
Merge branch 'dev' into 1458-AddMapThreadsParam
Cyberboss Jul 7, 2023
7e0af87
Fix issues with the GetCommandLine test helper
Cyberboss Jul 8, 2023
6e1b6a6
Fix usage of TopicClient in live tests
Cyberboss Jul 8, 2023
05a4f89
Fix possible race condition in DummyChatProvider
Cyberboss Jul 8, 2023
744e183
Fix test instance backwards naming
Cyberboss Jul 8, 2023
4bcb3c4
Suppress DMAPI tests warning
Cyberboss Jul 8, 2023
ccef09d
Error the DMAPI build if BYOND is too out of date
Cyberboss Jul 8, 2023
e10f03e
Add an additional log message exception
Cyberboss Jul 8, 2023
009b851
Make things slightly more debuggable
Cyberboss Jul 8, 2023
0b92f63
Only expect channels while we can guarantee them
Cyberboss Jul 8, 2023
2b53227
Fix priority SendRawTopic erroring when cancelled
Cyberboss Jul 8, 2023
93cfea6
Inconclusive map threads test until release.
Cyberboss Jul 8, 2023
6ece669
Fix a bunch of tests being inconclusive in CI
Cyberboss Jul 8, 2023
b3fc355
Do not catch topic timeouts
Cyberboss Jul 8, 2023
d4470e0
Remove unnecessary reallocations
Cyberboss Jul 8, 2023
9c8fc14
Bookend where the compat tests start and end
Cyberboss Jul 9, 2023
b86837c
Merge branch 'dev' of https://github.com/tgstation/tgstation-server i…
Cyberboss Jul 9, 2023
32c6533
Don't run compat tests in GitHub actions
Cyberboss Jul 9, 2023
60bf46e
Increase live tests topic timeout to 5s
Cyberboss Jul 9, 2023
0745fef
Run compat test then edge test
Cyberboss Jul 9, 2023
3ae1117
Again, disable compat tests in GitHub actions
Cyberboss Jul 10, 2023
0bcb985
Revert bad merge
Cyberboss Jul 10, 2023
9ce06dd
Do not create processStartTcs unnecessarily
Cyberboss Jul 10, 2023
8d09bc8
Increase Live tests topic timeout to 10s
Cyberboss Jul 10, 2023
a436233
Add FifoSemaphore and test
Cyberboss Jul 10, 2023
b6ced2b
Make session topic calls exclusive FIFO
Cyberboss Jul 10, 2023
c290e92
Increase timeout for compat test BYOND install
Cyberboss Jul 10, 2023
0ab023f
I am once again asking you to run the compat tests
Cyberboss Jul 10, 2023
1747f79
Fix issues with event message queuing and detaches
Cyberboss Jul 10, 2023
aad09cc
More logging when DD terminates in test
Cyberboss Jul 11, 2023
590faee
Do not cleanup temp dir at end of tests
Cyberboss Jul 11, 2023
0e9958f
Skip compat tests in GitHub actions for now
Cyberboss Jul 11, 2023
0a492cb
Additional testing for FifoSemaphore
Cyberboss Jul 11, 2023
dca716f
Additional logging when a topic request completes
Cyberboss Jul 11, 2023
cf59163
Debug logging for DMAPI to hunt the dd topic issue
Cyberboss Jul 11, 2023
bd2872a
Remove non-existent file from .sln
Cyberboss Jul 11, 2023
13bc6ec
Additional DMAPI test logging
Cyberboss Jul 11, 2023
78d5a89
Add missing DMAPI return
Cyberboss Jul 11, 2023
8301e6b
Fix compat tests chat job sometimes not being created in time
Cyberboss Jul 12, 2023
772e884
Additional /world/Export logging
Cyberboss Jul 12, 2023
0e43726
Add a .NET update todo
Cyberboss Jul 13, 2023
9a1634e
Remove unnecessary whitespace
Cyberboss Jul 13, 2023
7dbcdce
Add usings for redirected process std handles
Cyberboss Jul 13, 2023
37316cc
Re-enable compat tests in actions
Cyberboss Jul 13, 2023
3159c4c
Fix /usr/bin/dotnet for systemd testing
Cyberboss Jul 13, 2023
f707d78
Do not support 510 with system watchdog on Linux
Cyberboss Jul 13, 2023
64564fa
Disable system watchdog compat tests on Linux
Cyberboss Jul 13, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ appveyor.yml
omnisharp.json
README.md
build/package/**
build/coverlet.runsettings
build/ci.runsettings
build/Dockerfile
build/GenerateMigrations.sh
build/OpenApiValidationSettings.json
Expand Down
112 changes: 59 additions & 53 deletions .github/workflows/ci-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ on:
- master
- V6
pull_request_target:
types: [opened, reopened, labeled, synchronize]
types: [ opened, reopened, labeled, synchronize ]
branches:
- dev
- master
Expand Down Expand Up @@ -85,9 +85,10 @@ jobs:
name: Build DMAPI
needs: start-ci-run-gate
if: "!(cancelled() || failure()) && needs.start-ci-run-gate.result == 'success'"
env:
BYOND_MAJOR: 515
BYOND_MINOR: 1606
strategy:
fail-fast: false
matrix:
byond: [ '510.1346', '511.1385', '512.1488', '513.1542', '514.1589', 'EDGE' ]
runs-on: ubuntu-latest
steps:
- name: Install x86 libc Dependencies
Expand All @@ -96,20 +97,30 @@ jobs:
sudo apt-get update
sudo apt-get install -y -o APT::Immediate-Configure=0 libc6-i386 libstdc++6:i386 libgcc-s1:i386

- name: Restore BYOND cache
- name: Cache BYOND .zips
uses: actions/cache@v3
id: cache-byond
with:
path: ~/BYOND-${{ env.BYOND_MAJOR }}.${{ env.BYOND_MINOR }}
key: ${{ env.BYOND_MAJOR }}-${{ env.BYOND_MINOR }}-dmapibyond
path: ~/byond-zips-cache
key: byond-zips

- name: Install BYOND
if: steps.cache-byond.outputs.cache-hit != 'true'
- name: Build BYOND Cache if Necessary and Install
run: |
echo "Setting up BYOND."
mkdir -p "$HOME/BYOND-${{ env.BYOND_MAJOR }}.${{ env.BYOND_MINOR }}"
cd "$HOME/BYOND-${{ env.BYOND_MAJOR }}.${{ env.BYOND_MINOR }}"
curl "http://www.byond.com/download/build/${{ env.BYOND_MAJOR }}/${{ env.BYOND_MAJOR }}.${{ env.BYOND_MINOR }}_byond_linux.zip" -o byond.zip
FULL_VERSION=${{ matrix.byond }}
if [[ "$FULL_VERSION" = "EDGE" ]] ; then
VERSIONS=$(curl https://www.byond.com/download/version.txt)
FULL_VERSION=$(echo "$VERSIONS" | tail -n1)
echo "EDGE version evaluated to $FULL_VERSION"
fi
if [[ ! -f $HOME/byond-zips-cache/linux/$FULL_VERSION.zip ]] ; then
BYOND_MAJOR=${FULL_VERSION%.*}
mkdir -p $HOME/byond-zips-cache/linux
curl "https://www.byond.com/download/build/$BYOND_MAJOR/${FULL_VERSION}_byond_linux.zip" -o $HOME/byond-zips-cache/linux/$FULL_VERSION.zip
fi
mkdir -p "$HOME/BYOND"
cd "$HOME/BYOND"
cp $HOME/byond-zips-cache/linux/$FULL_VERSION.zip byond.zip
unzip byond.zip
cd byond
make here
Expand All @@ -129,7 +140,7 @@ jobs:
run: |
set -e
retval=1
source $HOME/BYOND-${{ env.BYOND_MAJOR }}.${{ env.BYOND_MINOR }}/byond/bin/byondsetup
source $HOME/BYOND/byond/bin/byondsetup

if hash DreamMaker 2>/dev/null
then
Expand Down Expand Up @@ -249,7 +260,7 @@ jobs:
run: dotnet build -c ${{ matrix.configuration }}NoWindows

- name: Run Unit Tests
run: sudo dotnet test --no-build --logger GitHubActions --filter FullyQualifiedName!~TestLiveServer -c ${{ matrix.configuration }}NoWindows --collect:"XPlat Code Coverage" --settings build/coverlet.runsettings --results-directory ./TestResults tgstation-server.sln
run: sudo dotnet test --no-build --logger "GitHubActions;summary.includePassedTests=true;summary.includeSkippedTests=true" --filter TestCategory!=RequiresDatabase -c ${{ matrix.configuration }}NoWindows --collect:"XPlat Code Coverage" --settings build/ci.runsettings --results-directory ./TestResults tgstation-server.sln

- name: Store Code Coverage
uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -292,7 +303,7 @@ jobs:
run: dotnet build -c ${{ matrix.configuration }}NoWix

- name: Run Unit Tests
run: dotnet test --no-build --logger GitHubActions --filter FullyQualifiedName!~TestLiveServer -c ${{ matrix.configuration }}NoWix --collect:"XPlat Code Coverage" --settings build/coverlet.runsettings --results-directory ./TestResults tgstation-server.sln
run: dotnet test --no-build --logger "GitHubActions;summary.includePassedTests=true;summary.includeSkippedTests=true" --filter TestCategory!=RequiresDatabase -c ${{ matrix.configuration }}NoWix --collect:"XPlat Code Coverage" --settings build/ci.runsettings --results-directory ./TestResults tgstation-server.sln

- name: Store Code Coverage
uses: actions/upload-artifact@v3
Expand All @@ -311,9 +322,6 @@ jobs:
watchdog-type: [ 'Basic', 'System' ]
configuration: [ 'Debug', 'Release' ]
runs-on: windows-latest
env:
BYOND_MAJOR: 514
BYOND_MINOR: 1588
steps:
- name: Wait for LocalDB Connection # Do this first because we don't want to find out it's failing later
shell: powershell
Expand All @@ -327,21 +335,6 @@ jobs:
with:
dotnet-version: ${{ env.TGS_DOTNET_VERSION }}

- name: Restore BYOND cache
uses: actions/cache@v3
id: cache-byond
with:
path: ~/BYOND-${{ env.BYOND_MAJOR }}.${{ env.BYOND_MINOR }}
key: ${{ env.BYOND_MAJOR }}-${{ env.BYOND_MINOR }}-livebyond

- name: Download BYOND
if: steps.cache-byond.outputs.cache-hit != 'true'
run: |
echo "Downloading BYOND..."
mkdir -p "$HOME/BYOND-${{ env.BYOND_MAJOR }}.${{ env.BYOND_MINOR }}"
cd "$HOME/BYOND-${{ env.BYOND_MAJOR }}.${{ env.BYOND_MINOR }}"
curl "http://www.byond.com/download/build/${{ env.BYOND_MAJOR }}/${{ env.BYOND_MAJOR }}.${{ env.BYOND_MINOR }}_byond.zip" -o byond.zip

- name: Set TGS_TEST_DUMP_API_SPEC
if: ${{ matrix.configuration == 'Release' && matrix.watchdog-type == 'System' && matrix.database-type == 'SqlServer' }}
run: echo "TGS_TEST_DUMP_API_SPEC=yes" >> $Env:GITHUB_ENV
Expand Down Expand Up @@ -414,11 +407,18 @@ jobs:
- name: Build
run: dotnet build -c ${{ matrix.configuration }} tests/Tgstation.Server.Tests/Tgstation.Server.Tests.csproj

- name: Cache BYOND .zips
uses: actions/cache@v3
id: cache-byond
with:
path: ~/byond-zips-cache
key: byond-zips

- name: Run Live Tests
run: |
cd tests/Tgstation.Server.Tests
Start-Sleep -Seconds 10
dotnet test -c ${{ matrix.configuration }} --no-build --filter FullyQualifiedName~TestLiveServer --logger GitHubActions --collect:"XPlat Code Coverage" --settings ../../build/coverlet.runsettings --results-directory ../../TestResults
dotnet test -c ${{ matrix.configuration }} --no-build --filter TestCategory=RequiresDatabase --logger "GitHubActions;summary.includePassedTests=true;summary.includeSkippedTests=true" --collect:"XPlat Code Coverage" --settings ../../build/ci.runsettings --results-directory ../../TestResults

- name: Store Code Coverage
uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -516,9 +516,6 @@ jobs:
watchdog-type: [ 'Basic', 'System' ]
configuration: [ 'Debug', 'Release' ]
runs-on: ubuntu-latest
env:
BYOND_MAJOR: 514
BYOND_MINOR: 1588
steps:
- name: Disable ptrace_scope
run: echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
Expand All @@ -529,21 +526,6 @@ jobs:
sudo apt-get update
sudo apt-get install -y -o APT::Immediate-Configure=0 libc6-i386 libstdc++6:i386 gdb libgcc-s1:i386

- name: Restore BYOND cache
uses: actions/cache@v3
id: cache-byond
with:
path: $HOME/BYOND-${{ env.BYOND_MAJOR }}.${{ env.BYOND_MINOR }}
key: ${{ env.BYOND_MAJOR }}-${{ env.BYOND_MINOR }}-livebyond

- name: Download BYOND
if: steps.cache-byond.outputs.cache-hit != 'true'
run: |
echo "Downloading BYOND..."
mkdir -p "$HOME/BYOND-${{ env.BYOND_MAJOR }}.${{ env.BYOND_MINOR }}"
cd "$HOME/BYOND-${{ env.BYOND_MAJOR }}.${{ env.BYOND_MINOR }}"
curl "http://www.byond.com/download/build/${{ env.BYOND_MAJOR }}/${{ env.BYOND_MAJOR }}.${{ env.BYOND_MINOR }}_byond_linux.zip" -o byond.zip

- name: Setup dotnet
uses: actions/setup-dotnet@v2
with:
Expand Down Expand Up @@ -594,11 +576,18 @@ jobs:
- name: Build
run: dotnet build -c ${{ matrix.configuration }}NoWindows tests/Tgstation.Server.Tests/Tgstation.Server.Tests.csproj

- name: Cache BYOND .zips
uses: actions/cache@v3
id: cache-byond
with:
path: ~/byond-zips-cache
key: byond-zips

- name: Run Live Tests
run: |
cd tests/Tgstation.Server.Tests
sleep 10
dotnet test -c ${{ matrix.configuration }}NoWindows --filter FullyQualifiedName~TestLiveServer --logger GitHubActions --no-build --collect:"XPlat Code Coverage" --settings ../../build/coverlet.runsettings --results-directory ../../TestResults
dotnet test -c ${{ matrix.configuration }}NoWindows --filter TestCategory=RequiresDatabase --logger "GitHubActions;summary.includePassedTests=true;summary.includeSkippedTests=true" --no-build --collect:"XPlat Code Coverage" --settings ../../build/ci.runsettings --results-directory ../../TestResults

- name: Store Code Coverage
uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -935,6 +924,23 @@ jobs:
echo ${{ secrets.PACKAGING_PRIVATE_KEY_PASSPHRASE }} | gpg --batch --yes --passphrase-fd 0 --import private.pgp
rm private.pgp

- name: Install dotnet-sdk-6.0
run: |
sudo apt-get update
sudo apt-get install -y dotnet-sdk-6.0

- name: Setup dotnet
uses: actions/setup-dotnet@v2
with:
dotnet-version: ${{ env.TGS_DOTNET_VERSION }}

- name: Override /usr/bin/dotnet
run: |
DOTNET_PATH=$(which dotnet)
sudo rm /usr/bin/dotnet
sudo ln -s $DOTNET_PATH /usr/bin/dotnet
echo "New dotnet path should be $DOTNET_PATH"

- name: Checkout (Branch)
uses: actions/checkout@v3
if: github.event_name == 'push' || github.event_name == 'schedule'
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ artifacts/
/src/Tgstation.Server.Host/appsettings.*.json
/src/Tgstation.Server.Host/appsettings.*.yml
/src/Tgstation.Server.Host/wwwroot
/src/Tgstation.Server.Host/--applicationName
/src/Tgstation.Server.Host/ClientApp
/tools/Tgstation.Server.ReleaseNotes/release_notes.md
launchSettings.json
Expand Down
6 changes: 2 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@

[![GitHub license](https://img.shields.io/github/license/tgstation/tgstation-server.svg)](LICENSE) [![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/tgstation/tgstation-server.svg)](http://isitmaintained.com/project/tgstation/tgstation-server "Average time to resolve an issue") [![NuGet version](https://img.shields.io/nuget/v/Tgstation.Server.Api.svg)](https://www.nuget.org/packages/Tgstation.Server.Api) [![NuGet version](https://img.shields.io/nuget/v/Tgstation.Server.Client.svg)](https://www.nuget.org/packages/Tgstation.Server.Client)

[![forthebadge](http://forthebadge.com/images/badges/made-with-c-sharp.svg)](http://forthebadge.com) [![forinfinityandbyond](https://user-images.githubusercontent.com/5211576/29499758-4efff304-85e6-11e7-8267-62919c3688a9.gif)](https://www.reddit.com/r/SS13/comments/5oplxp/what_is_the_main_problem_with_byond_as_an_engine/dclbu1a)

[![forthebadge](http://forthebadge.com/images/badges/built-with-love.svg)](http://forthebadge.com) [![forthebadge](http://forthebadge.com/images/badges/60-percent-of-the-time-works-every-time.svg)](http://forthebadge.com)
[![forthebadge](http://forthebadge.com/images/badges/made-with-c-sharp.svg)](http://forthebadge.com) [![forinfinityandbyond](https://user-images.githubusercontent.com/5211576/29499758-4efff304-85e6-11e7-8267-62919c3688a9.gif)](https://www.reddit.com/r/SS13/comments/5oplxp/what_is_the_main_problem_with_byond_as_an_engine/dclbu1a) [![forthebadge](http://forthebadge.com/images/badges/built-with-love.svg)](http://forthebadge.com)

This is a toolset to manage production BYOND servers. It includes the ability to update the server without having to stop or shutdown the server (the update will take effect on a "reboot" of the server), the ability to start the server and restart it if it crashes, as well as systems for managing code and game files, and locally merging GitHub Pull Requests for test deployments.

Expand Down Expand Up @@ -521,7 +519,7 @@ Manual operations on the repository while an instance is running may lead to git

#### Byond

The `Byond` folder contains installations of [BYOND](https://secure.byond.com/) versions. The version which is used by your game code can be changed on a whim (Note that only versions >= 511.1385 have been thouroughly tested. Lower versions should work but if one doesn't function, please open an issue report) and the server will take care of installing it.
The `Byond` folder contains installations of [BYOND](https://www.byond.com/) versions. The version which is used by your game code can be changed on a whim (Note that only versions >= 511.1385 have been thouroughly tested. Lower versions should work but if one doesn't function, please open an issue report) and the server will take care of installing it.

#### Compiler

Expand Down
1 change: 1 addition & 0 deletions build/GenerateMigrations.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ dotnet ef migrations add "MS$1" --context SqlServerDatabaseContext
dotnet ef migrations add "MY$1" --context MySqlDatabaseContext
dotnet ef migrations add "PG$1" --context PostgresSqlDatabaseContext
dotnet ef migrations add "SL$1" --context SqliteDatabaseContext
rm -f ./--applicationName # No idea why this file appears
popd
6 changes: 3 additions & 3 deletions build/Version.props
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
<!-- Integration tests will ensure they match across the board -->
<Import Project="ControlPanelVersion.props" />
<PropertyGroup>
<TgsCoreVersion>5.12.7</TgsCoreVersion>
<TgsCoreVersion>5.13.0</TgsCoreVersion>
<TgsConfigVersion>4.7.0</TgsConfigVersion>
<TgsApiVersion>9.10.2</TgsApiVersion>
<TgsApiVersion>9.11.0</TgsApiVersion>
<TgsCommonLibraryVersion>6.0.0</TgsCommonLibraryVersion>
<TgsApiLibraryVersion>11.0.0</TgsApiLibraryVersion>
<TgsClientVersion>12.0.0</TgsClientVersion>
<TgsDmapiVersion>6.5.0</TgsDmapiVersion>
<TgsDmapiVersion>6.5.1</TgsDmapiVersion>
<TgsInteropVersion>5.6.1</TgsInteropVersion>
<TgsHostWatchdogVersion>1.3.0</TgsHostWatchdogVersion>
<TgsContainerScriptVersion>1.2.1</TgsContainerScriptVersion>
Expand Down
3 changes: 3 additions & 0 deletions build/coverlet.runsettings → build/ci.runsettings
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8" ?>
<RunSettings>
<RunConfiguration>
<CollectSourceInformation>true</CollectSourceInformation>
</RunConfiguration>
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector friendlyName="XPlat Code Coverage">
Expand Down
2 changes: 1 addition & 1 deletion src/DMAPI/tgs.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// tgstation-server DMAPI

#define TGS_DMAPI_VERSION "6.5.0"
#define TGS_DMAPI_VERSION "6.5.1"

// All functions and datums outside this document are subject to change with any version and should not be relied on.

Expand Down
8 changes: 8 additions & 0 deletions src/DMAPI/tgs/core/_definitions.dm
Original file line number Diff line number Diff line change
@@ -1,2 +1,10 @@
#if DM_VERSION < 510
#error The TGS DMAPI does not support BYOND versions < 510!
#endif

#define TGS_UNIMPLEMENTED "___unimplemented"
#define TGS_VERSION_PARAMETER "server_service_version"

#ifndef TGS_DEBUG_LOG
#define TGS_DEBUG_LOG(message)
#endif
4 changes: 2 additions & 2 deletions src/DMAPI/tgs/v3210/commands.dm
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,12 @@
user.friendly_name = sender

// Discord hack, fix the mention if it's only numbers (fuck you IRC trolls)
var/regex/discord_id_regex = regex(@"^[0-9]+$")
var/regex/discord_id_regex = regex("^\[0-9\]+$")
if(findtext(sender, discord_id_regex))
sender = "<@[sender]>"

user.mention = sender
var/datum/tgs_message_content/result = stc.Run(user, params)
result = UpgradeDeprecatedCommandResponse(result, command)

return result?.text || TRUE
return result ? result.text : TRUE
2 changes: 1 addition & 1 deletion src/DMAPI/tgs/v4/commands.dm
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,5 @@
var/datum/tgs_message_content/result = sc.Run(u, params)
result = UpgradeDeprecatedCommandResponse(result, command)

return result?.text
return result ? result.text : TRUE
return "Unknown command: [command]!"
Loading
Loading