diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index cbf5f2662..b47fff71d 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -83,11 +83,18 @@ body: label: Linux distro multiple: true options: + - Ubuntu 26.04 - Ubuntu 24.04 - Ubuntu 22.04 - Ubuntu 20.04 + - Debian 13 - Debian 12 - Debian 11 + - AlmaLinux 9 + - AlmaLinux 8 + - Rocky 10 + - Rocky 9 + - Rocky 8 - RedHat 9 - RedHat 8 - Other diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 67d7508e1..1c50616bf 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -41,11 +41,18 @@ body: label: Linux distro multiple: true options: + - Ubuntu 26.04 - Ubuntu 24.04 - Ubuntu 22.04 - Ubuntu 20.04 + - Debian 13 - Debian 12 - Debian 11 + - AlmaLinux 9 + - AlmaLinux 8 + - Rocky 10 + - Rocky 9 + - Rocky 8 - RedHat 9 - RedHat 8 - Other diff --git a/.github/labeler.yml b/.github/labeler.yml index 631af01bb..d0d48efb7 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -87,7 +87,7 @@ "type: feature": - "/(feature request|new feature|^feat(\\(.+\\))?:|\\[x\\] New feature)/im" "type: docs": - - "/(^docs(\\(.+\\))?:|\\[x\\] Comment update)/im" + - "/(^docs(\\(.+\\))?:|documentation|\\[x\\] Comment update)/im" "type: refactor": - "/(^refactor(\\(.+\\))?:|\\[x\\] Refactor)/im" "type: chore": diff --git a/.github/scripts/details-check-generate-matrix.sh b/.github/scripts/details-check-generate-matrix.sh index 3d56674c2..cf37b528c 100755 --- a/.github/scripts/details-check-generate-matrix.sh +++ b/.github/scripts/details-check-generate-matrix.sh @@ -1,12 +1,19 @@ #!/bin/bash -curl "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${GITHUB_REF#refs/heads/}/lgsm/data/serverlist.csv" | grep -v '^[[:blank:]]*$' > serverlist.csv +ref="${LGSM_REF:-${GITHUB_REF#refs/heads/}}" +curl "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${ref}/lgsm/data/serverlist.csv" | grep -v '^[[:blank:]]*$' > serverlist.csv echo -n "{" > "shortnamearray.json" echo -n "\"include\":[" >> "shortnamearray.json" while read -r line; do shortname=$(echo "$line" | awk -F, '{ print $1 }') + # If TARGETED_SHORTNAMES is set, skip servers not in the list + if [ -n "${TARGETED_SHORTNAMES:-}" ]; then + if ! echo "${TARGETED_SHORTNAMES}" | grep -qw "${shortname}"; then + continue + fi + fi export shortname servername=$(echo "$line" | awk -F, '{ print $2 }') export servername @@ -14,10 +21,26 @@ while read -r line; do export gamename distro=$(echo "$line" | awk -F, '{ print $4 }') export distro + # Legacy servers that require older Ubuntu/Debian versions due to glibc compatibility + case "${shortname}" in + bfv | bf1942) + # Requires Ubuntu <= 22.04 or Debian <= 12 (glibc 2.31 compatible) + runner="ubuntu-22.04" + ;; + btl | onset) + # Requires Ubuntu <= 20.04 or Debian <= 11 (glibc 2.31 compatible) + runner="ubuntu-20.04" + ;; + *) + runner="ubuntu-latest" + ;; + esac { echo -n "{" echo -n "\"shortname\":" echo -n "\"${shortname}\"" + echo -n ",\"runner\":" + echo -n "\"${runner}\"" echo -n "}," } >> "shortnamearray.json" done < <(tail -n +2 serverlist.csv) diff --git a/.github/workflows/action-details-check.yml b/.github/workflows/action-details-check.yml index ccccbbdaa..bed3a41ad 100644 --- a/.github/workflows/action-details-check.yml +++ b/.github/workflows/action-details-check.yml @@ -5,6 +5,9 @@ on: push: branches: - develop + pull_request: + branches: + - develop permissions: contents: read @@ -17,46 +20,102 @@ jobs: create-matrix: if: github.repository_owner == 'GameServerManagers' runs-on: ubuntu-latest + env: + LGSM_REF: ${{ github.event.pull_request.head.sha || github.ref_name }} outputs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 + with: + # Full history so the base branch ref is available for the + # `git diff origin/...HEAD` comparison below (a shallow + # checkout has no origin/ and the diff fails). + fetch-depth: 0 + + - name: Detect targeted servers (PR only) + id: targeted + if: github.event_name == 'pull_request' + run: | + changed=$(git diff --name-only origin/${{ github.base_ref }}...HEAD) + echo "Changed files:" + echo "$changed" + + # Only these modules directly affect what 'details', 'parse-game-details' + # and 'query-raw' output. Everything else (install, fix, update, check_*, + # data CSVs, game icons, etc.) is irrelevant to this check. + details_core='^(linuxgsm\.sh|lgsm/modules/(info_game|info_messages|command_details|command_dev_parse_game_details|command_dev_query_raw|core_modules)\.sh)$' + if echo "$changed" | grep -qE "${details_core}"; then + echo "Details-relevant core file changed — using full matrix." + echo "mode=full" >> "$GITHUB_OUTPUT" + else + # Extract shortnames from changed config-lgsm paths + shortnames=$(echo "$changed" \ + | grep -oE 'lgsm/config-default/config-lgsm/[a-z0-9]+server' \ + | sed 's|lgsm/config-default/config-lgsm/||;s|server$||' \ + | sort -u) + if [ -z "$shortnames" ]; then + echo "No server configs or core files changed — skipping matrix." + echo "mode=skip" >> "$GITHUB_OUTPUT" + else + echo "Targeted servers: $shortnames" + echo "mode=targeted" >> "$GITHUB_OUTPUT" + printf '%s\n' $shortnames > targeted_shortnames.txt + fi + fi - name: Generate matrix with generate-matrix.sh - run: .github/scripts/details-check-generate-matrix.sh + if: github.event_name != 'pull_request' || steps.targeted.outputs.mode != 'skip' + run: | + if [ -f targeted_shortnames.txt ]; then + TARGETED_SHORTNAMES=$(cat targeted_shortnames.txt) .github/scripts/details-check-generate-matrix.sh + else + .github/scripts/details-check-generate-matrix.sh + fi - name: Set Matrix id: set-matrix run: | - shortnamearray=$(cat shortnamearray.json) - echo "${shortnamearray}" - echo -n "matrix=${shortnamearray}" >> "$GITHUB_OUTPUT" + if [ ! -f shortnamearray.json ]; then + echo 'matrix={"include":[]}' >> "$GITHUB_OUTPUT" + else + shortnamearray=$(cat shortnamearray.json) + echo "${shortnamearray}" + echo -n "matrix=${shortnamearray}" >> "$GITHUB_OUTPUT" + fi details-check: if: github.repository_owner == 'GameServerManagers' needs: create-matrix continue-on-error: true - runs-on: ubuntu-latest + runs-on: ${{ matrix.runner }} + env: + LGSM_REF: ${{ github.event.pull_request.head.sha || github.ref_name }} strategy: matrix: ${{ fromJSON(needs.create-matrix.outputs.matrix) }} steps: - name: Download linuxgsm.sh - run: wget "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${GITHUB_REF#refs/heads/}/linuxgsm.sh"; chmod +x linuxgsm.sh + run: wget "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${LGSM_REF}/linuxgsm.sh"; chmod +x linuxgsm.sh + + - name: Cache apt packages + uses: actions/cache@v4 + with: + path: /var/cache/apt/archives + key: apt-${{ runner.os }}-libxml2-utils-jq - name: Install dependencies - run: sudo apt-get install libxml2-utils jq + run: sudo apt-get install -y --no-install-recommends libxml2-utils jq - name: Create serverfiles directory run: mkdir -p serverfiles - name: Grab server - run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./linuxgsm.sh ${{ matrix.shortname }}server + run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./linuxgsm.sh ${{ matrix.shortname }}server - name: Enable developer mode - run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server developer + run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server developer - name: Generate servercfgname id: sets-servercfgname @@ -73,7 +132,7 @@ jobs: fi - name: Pre-load LinuxGSM - run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server details + run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server details - name: Display config run: | @@ -87,10 +146,36 @@ jobs: run: grep "startparameters" lgsm/config-default/config-lgsm/${{ matrix.shortname }}server/_default.cfg - name: Details - run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server details + id: details + run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server details - name: Detect details - run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server parse-game-details + id: detect-details + run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server parse-game-details - name: Query Raw - run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server query-raw + id: query-raw + run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server query-raw + + - name: Write job summary + if: always() + run: | + status_icon() { + case "$1" in + success) echo "✅" ;; + failure) echo "❌" ;; + skipped) echo "⏭️" ;; + *) echo "⚠️" ;; + esac + } + details_icon=$(status_icon "${{ steps.details.outcome }}") + parse_icon=$(status_icon "${{ steps.detect-details.outcome }}") + query_icon=$(status_icon "${{ steps.query-raw.outcome }}") + { + echo "## ${{ matrix.shortname }}server" + echo "| Step | Result |" + echo "|------|--------|" + echo "| Details | ${details_icon} ${{ steps.details.outcome }} |" + echo "| Parse game details | ${parse_icon} ${{ steps.detect-details.outcome }} |" + echo "| Query raw | ${query_icon} ${{ steps.query-raw.outcome }} |" + } >> "$GITHUB_STEP_SUMMARY" diff --git a/.github/workflows/action-serverlist-validate.yml b/.github/workflows/action-serverlist-validate.yml index 4fb830702..3e8807407 100644 --- a/.github/workflows/action-serverlist-validate.yml +++ b/.github/workflows/action-serverlist-validate.yml @@ -6,13 +6,16 @@ on: permissions: contents: read +env: + datadir: lgsm/data + jobs: serverlist-validate: if: github.repository_owner == 'GameServerManagers' runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Compare Versions run: .github/scripts/serverlist-validate.sh diff --git a/.github/workflows/action-trigger-docker-build.yml b/.github/workflows/action-trigger-docker-build.yml index 390123322..823592457 100644 --- a/.github/workflows/action-trigger-docker-build.yml +++ b/.github/workflows/action-trigger-docker-build.yml @@ -15,12 +15,22 @@ jobs: runs-on: ubuntu-latest steps: - name: Trigger Workflow and Wait (linuxgsm) - uses: convictional/trigger-workflow-and-wait@v1.6.5 - with: - owner: GameServerManagers - repo: docker-linuxgsm - github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} - workflow_file_name: action-docker-publish.yml + env: + GH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} + run: | + before=$(date -u +%Y-%m-%dT%H:%M:%SZ) + gh workflow run action-docker-publish.yml --repo GameServerManagers/docker-linuxgsm + sleep 10 + run_id=$(gh run list \ + --workflow action-docker-publish.yml \ + --repo GameServerManagers/docker-linuxgsm \ + --created ">=${before}" \ + --limit 1 \ + --json databaseId \ + --jq '.[0].databaseId') + gh run watch "${run_id}" \ + --repo GameServerManagers/docker-linuxgsm \ + --exit-status trigger_build_docker-gameserver: if: github.repository_owner == 'GameServerManagers' @@ -29,9 +39,19 @@ jobs: runs-on: ubuntu-latest steps: - name: Trigger Workflow and Wait (gameserver) - uses: convictional/trigger-workflow-and-wait@v1.6.5 - with: - owner: GameServerManagers - repo: docker-gameserver - github_token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} - workflow_file_name: action-docker-publish.yml + env: + GH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} + run: | + before=$(date -u +%Y-%m-%dT%H:%M:%SZ) + gh workflow run action-docker-publish.yml --repo GameServerManagers/docker-gameserver + sleep 10 + run_id=$(gh run list \ + --workflow action-docker-publish.yml \ + --repo GameServerManagers/docker-gameserver \ + --created ">=${before}" \ + --limit 1 \ + --json databaseId \ + --jq '.[0].databaseId') + gh run watch "${run_id}" \ + --repo GameServerManagers/docker-gameserver \ + --exit-status diff --git a/.github/workflows/action-update-check.yml b/.github/workflows/action-update-check.yml index 8863cedc7..ad1150f7b 100644 --- a/.github/workflows/action-update-check.yml +++ b/.github/workflows/action-update-check.yml @@ -16,6 +16,8 @@ jobs: update-check: if: github.repository_owner == 'GameServerManagers' runs-on: ubuntu-latest + env: + LGSM_REF: ${{ github.event.pull_request.head.sha || github.ref_name }} strategy: fail-fast: false @@ -24,30 +26,30 @@ jobs: steps: - name: Download linuxgsm.sh - run: wget "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${GITHUB_REF#refs/heads/}/linuxgsm.sh"; chmod +x linuxgsm.sh + run: wget "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/${LGSM_REF}/linuxgsm.sh"; chmod +x linuxgsm.sh - name: Install dependencies run: sudo dpkg --add-architecture i386; sudo apt-get update; - name: Grab server - run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./linuxgsm.sh ${{ matrix.shortname }}server + run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./linuxgsm.sh ${{ matrix.shortname }}server - name: Enable developer mode - run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server developer + run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server developer - name: Insert steamuser if: matrix.shortname == 'jk2' run: echo -e "steamuser=\"${{ secrets.STEAMCMD_USER }}\"\nsteampass='${{ secrets.STEAMCMD_PASS }}'" > lgsm/config-lgsm/${{ matrix.shortname }}server/common.cfg - name: Install server - run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server auto-install + run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server auto-install - name: Check Update server - run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server check-update + run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server check-update - name: Update server - run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server update + run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server update - name: Force Update server if: matrix.shortname == 'css' - run: LGSM_GITHUBBRANCH="${GITHUB_REF#refs/heads/}" ./${{ matrix.shortname }}server force-update + run: LGSM_GITHUBBRANCH="${LGSM_REF}" ./${{ matrix.shortname }}server force-update diff --git a/.github/workflows/action-update-copyright-years-in-license-file.yml b/.github/workflows/action-update-copyright-years-in-license-file.yml deleted file mode 100644 index ab1549f0e..000000000 --- a/.github/workflows/action-update-copyright-years-in-license-file.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: Update copyright year(s) in license file - -on: - workflow_dispatch: - schedule: - - cron: "0 3 1 1 *" # 03:00 AM on January 1 - -permissions: - contents: write - -jobs: - update-license-year: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v6 - with: - fetch-depth: 0 - persist-credentials: false - - name: Action Update License Year - uses: FantasticFiasco/action-update-license-year@v3 - with: - token: ${{ secrets.GITHUB_TOKEN }} - path: LICENSE.md - - name: Merge pull request - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - gh pr merge --merge --delete-branch diff --git a/.github/workflows/action-version-check.yml b/.github/workflows/action-version-check.yml index d3c4a5276..0726295a4 100644 --- a/.github/workflows/action-version-check.yml +++ b/.github/workflows/action-version-check.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Version Check run: .github/scripts/version-check.sh diff --git a/.github/workflows/ai-triage.yml b/.github/workflows/ai-triage.yml new file mode 100644 index 000000000..fba1e4cf1 --- /dev/null +++ b/.github/workflows/ai-triage.yml @@ -0,0 +1,243 @@ +name: AI Issue Triage +on: + issues: + types: + - opened + - edited + +# Note: This workflow uses GitHub Models which may not be available +# in all environments. If GitHub Models API returns 401 or is unavailable, +# the workflow will skip gracefully and the issue will still be processed +# by other automation (labeler, etc.) + +permissions: + issues: write + contents: read + models: read + +jobs: + ai-triage: + if: github.repository_owner == 'GameServerManagers' + runs-on: ubuntu-latest + steps: + - name: Triage issue with GitHub Models + uses: actions/github-script@v7 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + script: | + const title = context.payload.issue.title || ''; + const body = context.payload.issue.body || ''; + const number = context.payload.issue.number; + const owner = context.repo.owner; + const repo = context.repo.repo; + const AI_MARKER = ''; + + function parseTriageResponse(raw) { + const input = (raw || '').trim(); + if (!input) return {}; + + const candidates = [input]; + const fenced = input.match(/```(?:json)?\s*([\s\S]*?)```/i); + if (fenced?.[1]) candidates.push(fenced[1].trim()); + + const firstBrace = input.indexOf('{'); + const lastBrace = input.lastIndexOf('}'); + if (firstBrace !== -1 && lastBrace > firstBrace) { + candidates.push(input.slice(firstBrace, lastBrace + 1)); + } + + for (const candidate of candidates) { + try { + return JSON.parse(candidate); + } catch (_err) { + // Continue trying fallbacks. + } + } + + return {}; + } + + // For short bodies, apply "needs: more info" label directly. + // Skip the AI call but still label the issue. + const isShortBody = body.trim().length < 80; + if (isShortBody) { + try { + await github.rest.issues.addLabels({ + owner, repo, issue_number: number, + labels: ['needs: more info'], + }); + } catch (err) { + console.log('Could not apply label for short body:', err.message); + } + return; + } + + // ── Call GitHub Models ──────────────────────────────────────── + // Note: GitHub Models access may not be available in all environments. + // If the API returns 401 (Unauthorized), it means GitHub Models is not + // enabled for this repository or the current token lacks access. + // The workflow will gracefully skip AI triage and continue. + let triage; + try { + const res = await fetch( + `https://models.github.ai/orgs/${owner}/inference/chat/completions`, + { + method: 'POST', + headers: { + 'Accept': 'application/vnd.github+json', + 'Authorization': `Bearer ${process.env.GITHUB_TOKEN}`, + 'X-GitHub-Api-Version': '2026-03-10', + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + model: 'openai/gpt-4.1-mini', + temperature: 0.1, + max_tokens: 400, + messages: [ + { + role: 'system', + content: + 'You are a triage assistant for LinuxGSM, an open-source ' + + 'Linux game server manager. Your role is to:\n' + + '1. Analyze issue quality (completeness, clarity)\n' + + '2. Extract game names mentioned in the issue, even if misspelled or abbreviated\n' + + '3. Suggest corrections for likely typos using fuzzy matching\n' + + '4. Respond ONLY with a valid JSON object — no markdown fences.\n\n' + + 'Common game name variations and typos you should recognize:\n' + + '- "Valhiem" → "Valheim"\n' + + '- "Rrust" → "Rust"\n' + + '- "Conterstrike" / "CS" / "CSGO" → "Counter-Strike: Global Offensive"\n' + + '- "Garrys" / "GMod" → "Garrys Mod"\n' + + '- "ARK" / "Ark" → "ARK: Survival Evolved"\n' + + '- "DayZ" / "Dayz" → "DayZ"\n' + + '- "Insurgency Sandstorm" / "Insurgency 2" → "Insurgency: Sandstorm"', + }, + { + role: 'user', + content: + `Title: ${title}\n\nBody:\n${body.slice(0, 3000)}\n\n` + + 'Respond with this JSON schema:\n' + + '{\n' + + ' "quality": "good" | "ok" | "poor",\n' + + ' "missing_info": ["list of specific missing fields"],\n' + + ' "detected_game": "canonical game name if one is mentioned, or null",\n' + + ' "game_confidence": "high" | "medium" | "low" | null,\n' + + ' "game_note": "correction suggestion if the user misspelled a game name, or empty string",\n' + + ' "comment": "one or two sentence note to the reporter, or empty string"\n' + + '}', + }, + ], + }), + } + ); + + // GitHub Models may return 401 if not available for this repository. + // This is expected and not an error — the workflow simply skips AI triage. + if (!res.ok) { + console.log(`GitHub Models returned ${res.status} — skipping AI triage.`); + return; + } + + const data = await res.json(); + const raw = data.choices?.[0]?.message?.content || '{}'; + triage = parseTriageResponse(raw); + } catch (err) { + // Never fail the workflow if the AI call errors — it's advisory only. + console.log('AI triage skipped:', err.message); + return; + } + + if (!triage || typeof triage !== 'object') { + triage = {}; + } + + // ── Act on the result ──────────────────────────────────────── + const isPoor = triage.quality === 'poor'; + const missing = Array.isArray(triage.missing_info) ? triage.missing_info : []; + const hasIssues = isPoor || missing.length > 0; + + // Prepare labels to apply + const labelsToApply = []; + + // Check if a game was detected with high confidence + const detectedGame = triage.detected_game; + const gameConfidence = triage.game_confidence; + + if (detectedGame && gameConfidence === 'high') { + labelsToApply.push(`game: ${detectedGame}`); + } + + // Apply "needs: more info" label if quality issues detected + if (hasIssues) { + labelsToApply.push('needs: more info'); + } + + // Apply labels one-by-one so a single failure does not block all labels. + const uniqueLabels = [...new Set(labelsToApply)]; + for (const label of uniqueLabels) { + try { + await github.rest.issues.addLabels({ + owner, + repo, + issue_number: number, + labels: [label], + }); + } catch (err) { + console.log(`Could not apply label "${label}":`, err.message); + } + } + + // Post a comment only when there is something specific to say + const gameNote = triage.game_note || ''; + const reporterComment = triage.comment || ''; + + if (!hasIssues && !gameNote) return; + + const missingBlock = missing.length > 0 + ? `\n\n**Missing information:**\n${missing.map(m => `- ${m}`).join('\n')}` + : ''; + + const gameBlock = gameNote + ? `\n\n**Game name note:** ${gameNote}` + : ''; + + const triageCommentBody = + `${AI_MARKER}\n` + + `Thanks for opening this issue! 👋\n\n` + + `${reporterComment}` + + `${missingBlock}` + + `${gameBlock}\n\n` + + `_This note was generated automatically by AI triage and may not be perfect. ` + + `A maintainer will review shortly._`; + + try { + const comments = await github.rest.issues.listComments({ + owner, + repo, + issue_number: number, + per_page: 100, + }); + + const existingAiComment = comments.data.find( + (comment) => comment.user?.type === 'Bot' && comment.body?.includes(AI_MARKER) + ); + + if (existingAiComment) { + await github.rest.issues.updateComment({ + owner, + repo, + comment_id: existingAiComment.id, + body: triageCommentBody, + }); + } else { + await github.rest.issues.createComment({ + owner, + repo, + issue_number: number, + body: triageCommentBody, + }); + } + } catch (err) { + console.log('Could not post comment:', err.message); + } diff --git a/.github/workflows/sync-game-labels.yml b/.github/workflows/sync-game-labels.yml new file mode 100644 index 000000000..eccb0ed46 --- /dev/null +++ b/.github/workflows/sync-game-labels.yml @@ -0,0 +1,28 @@ +name: Sync Game Labels +on: + push: + branches: + - master + - develop + paths: + - "lgsm/data/serverlist.csv" + workflow_dispatch: {} + +permissions: + issues: write + contents: read + +jobs: + sync-game-labels: + if: github.repository_owner == 'GameServerManagers' + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v5 + + - name: Sync game labels from serverlist + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + chmod +x .github/scripts/sync-game-labels.sh + .github/scripts/sync-game-labels.sh diff --git a/.prettierignore b/.prettierignore index e69de29bb..ed5b8552f 100644 --- a/.prettierignore +++ b/.prettierignore @@ -0,0 +1,7 @@ +# Prettier auto-commit runs with GITHUB_TOKEN (GitHub App). +# GitHub blocks that token from creating/updating anything under .github/workflows. +.github/workflows/** + +# Machine-generated by npm; its format is owned by npm, not Prettier. +# Prettier reformatting it fights npm and makes the auto-commit run fail. +package-lock.json diff --git a/lgsm/config-default/config-lgsm/acserver/_default.cfg b/lgsm/config-default/config-lgsm/acserver/_default.cfg index 2c4f8c84a..7ccebf181 100644 --- a/lgsm/config-default/config-lgsm/acserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/acserver/_default.cfg @@ -64,6 +64,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" diff --git a/lgsm/config-default/config-lgsm/ahl2server/_default.cfg b/lgsm/config-default/config-lgsm/ahl2server/_default.cfg index 8e2f9b272..b955c4180 100644 --- a/lgsm/config-default/config-lgsm/ahl2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/ahl2server/_default.cfg @@ -72,6 +72,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -101,6 +107,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/ahlserver/_default.cfg b/lgsm/config-default/config-lgsm/ahlserver/_default.cfg index 84501a48e..6854d55cf 100644 --- a/lgsm/config-default/config-lgsm/ahlserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/ahlserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/arkserver/_default.cfg b/lgsm/config-default/config-lgsm/arkserver/_default.cfg index 0866ac0a0..cc492f7b5 100644 --- a/lgsm/config-default/config-lgsm/arkserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/arkserver/_default.cfg @@ -69,6 +69,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -98,6 +104,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/arma3server/_default.cfg b/lgsm/config-default/config-lgsm/arma3server/_default.cfg index 2db6dc955..46a98ed46 100644 --- a/lgsm/config-default/config-lgsm/arma3server/_default.cfg +++ b/lgsm/config-default/config-lgsm/arma3server/_default.cfg @@ -83,6 +83,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -112,6 +118,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/armarserver/_default.cfg b/lgsm/config-default/config-lgsm/armarserver/_default.cfg index e7e8c24f4..a6532146f 100644 --- a/lgsm/config-default/config-lgsm/armarserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/armarserver/_default.cfg @@ -68,6 +68,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -97,6 +103,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/atsserver/_default.cfg b/lgsm/config-default/config-lgsm/atsserver/_default.cfg index a37b64547..6b4b0807b 100644 --- a/lgsm/config-default/config-lgsm/atsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/atsserver/_default.cfg @@ -60,6 +60,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -89,6 +95,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/avserver/_default.cfg b/lgsm/config-default/config-lgsm/avserver/_default.cfg index 5220fa4e7..5668c8be3 100644 --- a/lgsm/config-default/config-lgsm/avserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/avserver/_default.cfg @@ -60,6 +60,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -89,6 +95,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/bb2server/_default.cfg b/lgsm/config-default/config-lgsm/bb2server/_default.cfg index c00bd7e7d..ec113ed99 100644 --- a/lgsm/config-default/config-lgsm/bb2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/bb2server/_default.cfg @@ -73,6 +73,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -102,6 +108,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/bbserver/_default.cfg b/lgsm/config-default/config-lgsm/bbserver/_default.cfg index 5453a35f1..b3d7b7513 100644 --- a/lgsm/config-default/config-lgsm/bbserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/bbserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/bdserver/_default.cfg b/lgsm/config-default/config-lgsm/bdserver/_default.cfg index ac5df16ae..5144fd258 100644 --- a/lgsm/config-default/config-lgsm/bdserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/bdserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg index 69c4ba727..86363ccc5 100644 --- a/lgsm/config-default/config-lgsm/bf1942server/_default.cfg +++ b/lgsm/config-default/config-lgsm/bf1942server/_default.cfg @@ -60,6 +60,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -89,6 +95,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/bfvserver/_default.cfg b/lgsm/config-default/config-lgsm/bfvserver/_default.cfg index 7a28076b0..7fcfdd5ac 100644 --- a/lgsm/config-default/config-lgsm/bfvserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/bfvserver/_default.cfg @@ -60,6 +60,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -89,6 +95,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg index f4946bf34..3bcdd5cb9 100644 --- a/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/bmdmserver/_default.cfg @@ -73,6 +73,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -102,6 +108,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/boserver/_default.cfg b/lgsm/config-default/config-lgsm/boserver/_default.cfg index 7eba6c82a..9d3110cca 100644 --- a/lgsm/config-default/config-lgsm/boserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/boserver/_default.cfg @@ -65,6 +65,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -94,6 +100,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/bsserver/_default.cfg b/lgsm/config-default/config-lgsm/bsserver/_default.cfg index 865e8cf20..3ef7574a0 100644 --- a/lgsm/config-default/config-lgsm/bsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/bsserver/_default.cfg @@ -77,6 +77,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -106,6 +112,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/btlserver/_default.cfg b/lgsm/config-default/config-lgsm/btlserver/_default.cfg index a95a7e77c..7e936b1f7 100644 --- a/lgsm/config-default/config-lgsm/btlserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/btlserver/_default.cfg @@ -65,6 +65,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -94,6 +100,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/btserver/_default.cfg b/lgsm/config-default/config-lgsm/btserver/_default.cfg index e12b1dfa3..0134772b3 100644 --- a/lgsm/config-default/config-lgsm/btserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/btserver/_default.cfg @@ -60,6 +60,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -89,6 +95,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/ccserver/_default.cfg b/lgsm/config-default/config-lgsm/ccserver/_default.cfg index dcd65011d..86eaa9d15 100644 --- a/lgsm/config-default/config-lgsm/ccserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/ccserver/_default.cfg @@ -68,6 +68,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -97,6 +103,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/ckserver/_default.cfg b/lgsm/config-default/config-lgsm/ckserver/_default.cfg index 35f36dbf5..b238c2148 100644 --- a/lgsm/config-default/config-lgsm/ckserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/ckserver/_default.cfg @@ -64,6 +64,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -93,6 +99,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/cmwserver/_default.cfg b/lgsm/config-default/config-lgsm/cmwserver/_default.cfg index bd81c0cdc..110013f89 100644 --- a/lgsm/config-default/config-lgsm/cmwserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/cmwserver/_default.cfg @@ -66,6 +66,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -95,6 +101,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/cod2server/_default.cfg b/lgsm/config-default/config-lgsm/cod2server/_default.cfg index f33d207cf..45abeb251 100644 --- a/lgsm/config-default/config-lgsm/cod2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/cod2server/_default.cfg @@ -66,6 +66,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -95,6 +101,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/cod4server/_default.cfg b/lgsm/config-default/config-lgsm/cod4server/_default.cfg index e2fee45b1..0d007db4e 100644 --- a/lgsm/config-default/config-lgsm/cod4server/_default.cfg +++ b/lgsm/config-default/config-lgsm/cod4server/_default.cfg @@ -66,6 +66,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -95,6 +101,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/codserver/_default.cfg b/lgsm/config-default/config-lgsm/codserver/_default.cfg index 364096768..de3fc8c23 100644 --- a/lgsm/config-default/config-lgsm/codserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/codserver/_default.cfg @@ -66,6 +66,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -95,6 +101,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/coduoserver/_default.cfg b/lgsm/config-default/config-lgsm/coduoserver/_default.cfg index 0a8da94a9..2e52c6b24 100644 --- a/lgsm/config-default/config-lgsm/coduoserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/coduoserver/_default.cfg @@ -66,6 +66,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -95,6 +101,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/codwawserver/_default.cfg b/lgsm/config-default/config-lgsm/codwawserver/_default.cfg index ce6bba88e..438c1b785 100644 --- a/lgsm/config-default/config-lgsm/codwawserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/codwawserver/_default.cfg @@ -66,6 +66,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -95,6 +101,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/colserver/_default.cfg b/lgsm/config-default/config-lgsm/colserver/_default.cfg index 4a560cebb..82cf3de7b 100644 --- a/lgsm/config-default/config-lgsm/colserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/colserver/_default.cfg @@ -61,6 +61,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -90,6 +96,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/cs2server/_default.cfg b/lgsm/config-default/config-lgsm/cs2server/_default.cfg index 8d65b5364..81d1cb7ed 100644 --- a/lgsm/config-default/config-lgsm/cs2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/cs2server/_default.cfg @@ -72,6 +72,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -101,6 +107,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/csczserver/_default.cfg b/lgsm/config-default/config-lgsm/csczserver/_default.cfg index f5d90a35b..531e897ad 100644 --- a/lgsm/config-default/config-lgsm/csczserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/csczserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg index 6ae89331f..a5887c0b0 100644 --- a/lgsm/config-default/config-lgsm/csgoserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/csgoserver/_default.cfg @@ -104,6 +104,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -133,6 +139,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/csserver/_default.cfg b/lgsm/config-default/config-lgsm/csserver/_default.cfg index 2ca833c87..4e598cd16 100644 --- a/lgsm/config-default/config-lgsm/csserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/csserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/cssserver/_default.cfg b/lgsm/config-default/config-lgsm/cssserver/_default.cfg index a396678ff..ce79d3147 100644 --- a/lgsm/config-default/config-lgsm/cssserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/cssserver/_default.cfg @@ -73,6 +73,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -102,6 +108,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/ctserver/_default.cfg b/lgsm/config-default/config-lgsm/ctserver/_default.cfg index c90d6125c..e32f65fa4 100644 --- a/lgsm/config-default/config-lgsm/ctserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/ctserver/_default.cfg @@ -60,6 +60,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -89,6 +95,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/dabserver/_default.cfg b/lgsm/config-default/config-lgsm/dabserver/_default.cfg index 28c4478fd..575c163cf 100644 --- a/lgsm/config-default/config-lgsm/dabserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/dabserver/_default.cfg @@ -68,6 +68,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -97,6 +103,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/dayzserver/_default.cfg b/lgsm/config-default/config-lgsm/dayzserver/_default.cfg index 7e84df534..e55b0f3fd 100644 --- a/lgsm/config-default/config-lgsm/dayzserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/dayzserver/_default.cfg @@ -83,6 +83,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -112,6 +118,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/dmcserver/_default.cfg b/lgsm/config-default/config-lgsm/dmcserver/_default.cfg index 9d40dd637..b7f80ade0 100644 --- a/lgsm/config-default/config-lgsm/dmcserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/dmcserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/dodrserver/_default.cfg b/lgsm/config-default/config-lgsm/dodrserver/_default.cfg index 3c16fcdd5..947ee2dab 100644 --- a/lgsm/config-default/config-lgsm/dodrserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/dodrserver/_default.cfg @@ -66,6 +66,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -95,6 +101,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/dodserver/_default.cfg b/lgsm/config-default/config-lgsm/dodserver/_default.cfg index 8f3845911..6d1f1e28e 100644 --- a/lgsm/config-default/config-lgsm/dodserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/dodserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/dodsserver/_default.cfg b/lgsm/config-default/config-lgsm/dodsserver/_default.cfg index 4f113a64f..dc1e162e1 100644 --- a/lgsm/config-default/config-lgsm/dodsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/dodsserver/_default.cfg @@ -68,6 +68,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -97,6 +103,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/doiserver/_default.cfg b/lgsm/config-default/config-lgsm/doiserver/_default.cfg index 65ee56f1e..58b31c206 100644 --- a/lgsm/config-default/config-lgsm/doiserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/doiserver/_default.cfg @@ -69,6 +69,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -98,6 +104,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/dstserver/_default.cfg b/lgsm/config-default/config-lgsm/dstserver/_default.cfg index 7c8f3fa30..489f748c7 100644 --- a/lgsm/config-default/config-lgsm/dstserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/dstserver/_default.cfg @@ -70,6 +70,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -99,6 +105,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/dysserver/_default.cfg b/lgsm/config-default/config-lgsm/dysserver/_default.cfg index b65d0ba47..0c7fe66e3 100644 --- a/lgsm/config-default/config-lgsm/dysserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/dysserver/_default.cfg @@ -73,6 +73,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -102,6 +108,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg index c68902ffc..af9bde459 100644 --- a/lgsm/config-default/config-lgsm/ecoserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/ecoserver/_default.cfg @@ -63,6 +63,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -92,6 +98,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/emserver/_default.cfg b/lgsm/config-default/config-lgsm/emserver/_default.cfg index e8f537aab..fe02f4434 100644 --- a/lgsm/config-default/config-lgsm/emserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/emserver/_default.cfg @@ -73,6 +73,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -102,6 +108,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/etlserver/_default.cfg b/lgsm/config-default/config-lgsm/etlserver/_default.cfg index 9679a8f44..6dd1ccb1e 100644 --- a/lgsm/config-default/config-lgsm/etlserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/etlserver/_default.cfg @@ -60,6 +60,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -89,6 +95,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/ets2server/_default.cfg b/lgsm/config-default/config-lgsm/ets2server/_default.cfg index 116de6b6d..4b8095c87 100644 --- a/lgsm/config-default/config-lgsm/ets2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/ets2server/_default.cfg @@ -60,6 +60,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -89,6 +95,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/fctrserver/_default.cfg b/lgsm/config-default/config-lgsm/fctrserver/_default.cfg index 6eeeda637..ab885b5ea 100644 --- a/lgsm/config-default/config-lgsm/fctrserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/fctrserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/fofserver/_default.cfg b/lgsm/config-default/config-lgsm/fofserver/_default.cfg index 857c596a2..926b95b05 100644 --- a/lgsm/config-default/config-lgsm/fofserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/fofserver/_default.cfg @@ -68,6 +68,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -97,6 +103,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/gmodserver/_default.cfg b/lgsm/config-default/config-lgsm/gmodserver/_default.cfg index 852094b7c..ca2ad6be7 100644 --- a/lgsm/config-default/config-lgsm/gmodserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/gmodserver/_default.cfg @@ -78,6 +78,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -107,6 +113,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/hcuserver/_default.cfg b/lgsm/config-default/config-lgsm/hcuserver/_default.cfg index 2340506a9..c0fdcc630 100644 --- a/lgsm/config-default/config-lgsm/hcuserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/hcuserver/_default.cfg @@ -75,6 +75,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -104,6 +110,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg b/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg index 55f1c3918..2e9afaec1 100644 --- a/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/hl2dmserver/_default.cfg @@ -70,6 +70,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -99,6 +105,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/hldmserver/_default.cfg b/lgsm/config-default/config-lgsm/hldmserver/_default.cfg index 84d7ca030..697341250 100644 --- a/lgsm/config-default/config-lgsm/hldmserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/hldmserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg b/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg index c1de9618d..6f2d90fb4 100644 --- a/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/hldmsserver/_default.cfg @@ -68,6 +68,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -97,6 +103,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/hwserver/_default.cfg b/lgsm/config-default/config-lgsm/hwserver/_default.cfg index 70c08c204..c0c4f0eaa 100644 --- a/lgsm/config-default/config-lgsm/hwserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/hwserver/_default.cfg @@ -78,6 +78,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -107,6 +113,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/hzserver/_default.cfg b/lgsm/config-default/config-lgsm/hzserver/_default.cfg index d2e63e692..32fb9d6cd 100644 --- a/lgsm/config-default/config-lgsm/hzserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/hzserver/_default.cfg @@ -65,6 +65,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -92,6 +98,10 @@ telegramtoken="accesstoken" telegramchatid="" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/insserver/_default.cfg b/lgsm/config-default/config-lgsm/insserver/_default.cfg index 74760c2e0..afa7f7f27 100644 --- a/lgsm/config-default/config-lgsm/insserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/insserver/_default.cfg @@ -74,6 +74,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -103,6 +109,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/inssserver/_default.cfg b/lgsm/config-default/config-lgsm/inssserver/_default.cfg index 60f138093..27974e8a0 100644 --- a/lgsm/config-default/config-lgsm/inssserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/inssserver/_default.cfg @@ -77,6 +77,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -106,6 +112,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/iosserver/_default.cfg b/lgsm/config-default/config-lgsm/iosserver/_default.cfg index 30c41d1fa..928666984 100644 --- a/lgsm/config-default/config-lgsm/iosserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/iosserver/_default.cfg @@ -68,6 +68,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -97,6 +103,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/jbep3server/_default.cfg b/lgsm/config-default/config-lgsm/jbep3server/_default.cfg new file mode 100644 index 000000000..2036d3522 --- /dev/null +++ b/lgsm/config-default/config-lgsm/jbep3server/_default.cfg @@ -0,0 +1,198 @@ +################################## +######## Default Settings ######## +################################## +# DO NOT EDIT, ANY CHANGES WILL BE OVERWRITTEN! +# Copy settings from here and use them in either: +# common.cfg - applies settings to every instance. +# [instance].cfg - applies settings to a specific instance. + +#### Game Server Settings #### + +## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters +ip="0.0.0.0" +port="27015" +clientport="27005" +sourcetvport="27020" +defaultmap="crossfire" +maxplayers="24" + +## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters +startparameters="-game jbep3 -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" + +#### LinuxGSM Settings #### + +## LinuxGSM Stats +# Send useful stats to LinuxGSM developers. +# https://docs.linuxgsm.com/configuration/linuxgsm-stats +# (on|off) +stats="off" + +## Notification Alerts +# (on|off) + +# Display IP | https://docs.linuxgsm.com/alerts#display-ip +displayip="" + +# More info | https://docs.linuxgsm.com/alerts#more-info +postalert="off" + +# Alert on Start/Stop/Restart +statusalert="off" + +# Discord Alerts | https://docs.linuxgsm.com/alerts/discord +discordalert="off" +discordwebhook="webhook" + +# Email Alerts | https://docs.linuxgsm.com/alerts/email +emailalert="off" +email="email@example.com" +emailfrom="" + +# Gotify Alerts | https://docs.linuxgsm.com/alerts/gotify +gotifyalert="off" +gotifytoken="token" +gotifywebhook="webhook" + +# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt +iftttalert="off" +ifttttoken="accesstoken" +iftttevent="linuxgsm_alert" + +# ntfy Alerts | https://docs.linuxgsm.com/alerts/ntfy +ntfyalert="off" +ntfytopic="LinuxGSM" +ntfyserver="https://ntfy.sh" +ntfytoken="" +ntfyusername="" +ntfypassword="" +ntfypriority="" +ntfytags="" + +# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet +pushbulletalert="off" +pushbullettoken="accesstoken" +channeltag="" + +# Pushover Alerts | https://docs.linuxgsm.com/alerts/pushover +pushoveralert="off" +pushovertoken="accesstoken" +pushoveruserkey="userkey" + +# Rocket.Chat Alerts | https://docs.linuxgsm.com/alerts/rocket.chat +rocketchatalert="off" +rocketchatwebhook="webhook" + +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + +# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram +# You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring". +# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help all". +telegramapi="api.telegram.org" +telegramalert="off" +telegramtoken="accesstoken" +telegramchatid="" +telegramthreadid="" +telegramsilentnotification="false" +curlcustomstring="" + +## Updating | https://docs.linuxgsm.com/commands/update +updateonstart="off" + +## Backup | https://docs.linuxgsm.com/commands/backup +maxbackups="4" +maxbackupdays="30" +stoponbackup="on" + +## Logging | https://docs.linuxgsm.com/features/logging +consolelogging="on" +logdays="7" + +## Monitor | https://docs.linuxgsm.com/commands/monitor +# Query delay time +querydelay="1" + +## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors +ansi="on" + +#### Advanced Settings #### + +## Message Display Time | https://docs.linuxgsm.com/features/message-display-time +sleeptime="0.5" + +## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd +# Server appid +appid="869800" +steamcmdforcewindows="no" +# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch +branch="" +betapassword="" +# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server +steammaster="true" + +## Stop Mode | https://docs.linuxgsm.com/features/stop-mode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: GoldSrc +# 10: Avorion +# 11: end +stopmode="3" + +## Query mode +# 1: session only +# 2: gamedig (gsquery fallback) +# 3: gamedig +# 4: gsquery +# 5: tcp +querymode="2" +querytype="protocol-valve" + +## Console type +consoleverbose="yes" +consoleinteract="yes" + +## Game Server Details +# Do not edit +gamename="Jabroni Brawl: Episode 3" +engine="source" +glibc="2.3.6" + +#### Directories #### +# Edit with care + +## Game Server Directories +systemdir="${serverfiles}/jbep3" +executabledir="${serverfiles}" +executable="./srcds_run.sh" +servercfgdir="${systemdir}/cfg" +servercfg="${selfname}.cfg" +servercfgdefault="server.cfg" +servercfgfullpath="${servercfgdir}/${servercfg}" + +## Backup Directory +backupdir="${lgsmdir}/backup" + +## Logging Directories +[ -n "${LGSM_LOGDIR}" ] && logdir="${LGSM_LOGDIR}" || logdir="${rootdir}/log" +gamelogdir="${systemdir}/logs" +lgsmlogdir="${logdir}/script" +consolelogdir="${logdir}/console" +lgsmlog="${lgsmlogdir}/${selfname}-script.log" +consolelog="${consolelogdir}/${selfname}-console.log" +alertlog="${lgsmlogdir}/${selfname}-alert.log" +postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log" + +## Logs Naming +lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" +consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" + +## Log Parameters +logtimestamp="off" +logtimestampformat="%Y-%m-%d %H:%M:%S" diff --git a/lgsm/config-default/config-lgsm/jc2server/_default.cfg b/lgsm/config-default/config-lgsm/jc2server/_default.cfg index fe3f28dff..afe6d4e83 100644 --- a/lgsm/config-default/config-lgsm/jc2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/jc2server/_default.cfg @@ -60,6 +60,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -89,6 +95,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/jc3server/_default.cfg b/lgsm/config-default/config-lgsm/jc3server/_default.cfg index faa4f0a09..7d45d966e 100644 --- a/lgsm/config-default/config-lgsm/jc3server/_default.cfg +++ b/lgsm/config-default/config-lgsm/jc3server/_default.cfg @@ -60,6 +60,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -89,6 +95,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/jk2server/_default.cfg b/lgsm/config-default/config-lgsm/jk2server/_default.cfg index ef0a54ad8..1749c3dd5 100644 --- a/lgsm/config-default/config-lgsm/jk2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/jk2server/_default.cfg @@ -69,6 +69,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -98,6 +104,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/kf2server/_default.cfg b/lgsm/config-default/config-lgsm/kf2server/_default.cfg index b6e39b1ed..832cc8cfd 100644 --- a/lgsm/config-default/config-lgsm/kf2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/kf2server/_default.cfg @@ -66,6 +66,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -95,6 +101,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/kfserver/_default.cfg b/lgsm/config-default/config-lgsm/kfserver/_default.cfg index 77507e436..323142d69 100644 --- a/lgsm/config-default/config-lgsm/kfserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/kfserver/_default.cfg @@ -72,6 +72,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -101,6 +107,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/l4d2server/_default.cfg b/lgsm/config-default/config-lgsm/l4d2server/_default.cfg index 5e6dcfc4e..3e1584706 100644 --- a/lgsm/config-default/config-lgsm/l4d2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/l4d2server/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/l4dserver/_default.cfg b/lgsm/config-default/config-lgsm/l4dserver/_default.cfg index 4039df849..354bb9b19 100644 --- a/lgsm/config-default/config-lgsm/l4dserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/l4dserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/mcbserver/_default.cfg b/lgsm/config-default/config-lgsm/mcbserver/_default.cfg index 49ac842a6..5714bd328 100644 --- a/lgsm/config-default/config-lgsm/mcbserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/mcbserver/_default.cfg @@ -63,6 +63,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -92,6 +98,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/mcserver/_default.cfg b/lgsm/config-default/config-lgsm/mcserver/_default.cfg index 20ede8c01..1ae68b8e3 100644 --- a/lgsm/config-default/config-lgsm/mcserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/mcserver/_default.cfg @@ -69,6 +69,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -98,6 +104,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/mcvserver/_default.cfg b/lgsm/config-default/config-lgsm/mcvserver/_default.cfg new file mode 100644 index 000000000..3d822892a --- /dev/null +++ b/lgsm/config-default/config-lgsm/mcvserver/_default.cfg @@ -0,0 +1,189 @@ +################################## +######## Default Settings ######## +################################## +# DO NOT EDIT, ANY CHANGES WILL BE OVERWRITTEN! +# Copy settings from here and use them in either: +# common.cfg - applies settings to every instance. +# [instance].cfg - applies settings to a specific instance. + +#### Game Server Settings #### + +game_type="0" +game_mode="0" +ip="0.0.0.0" +port="27015" +clientport="27005" +sourcetvport="27020" +steamport="26901" +defaultmap="mcv_siege" +maxplayers="32" +tickrate="64" + +## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters +startparameters="-game vietnam -usercon -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} -tickrate ${tickrate} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers_override ${maxplayers} +game_type ${game_type} +game_mode ${game_mode} -nobreakpad" + +#### LinuxGSM Settings #### + +## LinuxGSM Stats +# Send useful stats to LinuxGSM developers. +# https://docs.linuxgsm.com/configuration/linuxgsm-stats +# (on|off) +stats="off" + +## Notification Alerts +# (on|off) + +# Display IP | https://docs.linuxgsm.com/alerts#display-ip +displayip="" + +# More info | https://docs.linuxgsm.com/alerts#more-info +postalert="off" + +# Alert on Start/Stop/Restart +statusalert="off" + +# Discord Alerts | https://docs.linuxgsm.com/alerts/discord +discordalert="off" +discordwebhook="webhook" + +# Email Alerts | https://docs.linuxgsm.com/alerts/email +emailalert="off" +email="email@example.com" +emailfrom="" + +# Gotify Alerts | https://docs.linuxgsm.com/alerts/gotify +gotifyalert="off" +gotifytoken="token" +gotifywebhook="webhook" + +# IFTTT Alerts | https://docs.linuxgsm.com/alerts/ifttt +iftttalert="off" +ifttttoken="accesstoken" +iftttevent="linuxgsm_alert" + +# Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet +pushbulletalert="off" +pushbullettoken="accesstoken" +channeltag="" + +# Pushover Alerts | https://docs.linuxgsm.com/alerts/pushover +pushoveralert="off" +pushovertoken="accesstoken" +pushoveruserkey="userkey" + +# Rocket.Chat Alerts | https://docs.linuxgsm.com/alerts/rocket.chat +rocketchatalert="off" +rocketchatwebhook="webhook" + +# Slack Alerts | https://docs.linuxgsm.com/alerts/slack +slackalert="off" +slackwebhook="webhook" + +# Telegram Alerts | https://docs.linuxgsm.com/alerts/telegram +# You can add a custom cURL string eg proxy (useful in Russia) in "curlcustomstring". +# For example "--socks5 ipaddr:port" for socks5 proxy see more in "curl --help". +telegramapi="api.telegram.org" +telegramalert="off" +telegramtoken="accesstoken" +telegramchatid="" +curlcustomstring="" + +## Updating | https://docs.linuxgsm.com/commands/update +updateonstart="off" + +## Backup | https://docs.linuxgsm.com/commands/backup +maxbackups="4" +maxbackupdays="30" +stoponbackup="on" + +## Logging | https://docs.linuxgsm.com/features/logging +consolelogging="on" +logdays="7" + +## Monitor | https://docs.linuxgsm.com/commands/monitor +# Query delay time +querydelay="1" + +## ANSI Colors | https://docs.linuxgsm.com/features/ansi-colors +ansi="on" + +#### Advanced Settings #### + +## Message Display Time | https://docs.linuxgsm.com/features/message-display-time +sleeptime="0.5" + +## SteamCMD Settings | https://docs.linuxgsm.com/steamcmd +# Server appid +appid="1136190" +steamcmdforcewindows="no" +# SteamCMD Branch | https://docs.linuxgsm.com/steamcmd/branch +branch="" +betapassword="" +# Master Server | https://docs.linuxgsm.com/steamcmd/steam-master-server +steammaster="false" + +## Stop Mode | https://docs.linuxgsm.com/features/stop-mode +# 1: tmux kill +# 2: CTRL+c +# 3: quit +# 4: quit 120s +# 5: stop +# 6: q +# 7: exit +# 8: 7 Days to Die +# 9: GoldSrc +# 10: Avorion +# 11: end +stopmode="3" + +## Query mode +# 1: session only +# 2: gamedig (gsquery fallback) +# 3: gamedig +# 4: gsquery +# 5: tcp +querymode="2" +querytype="protocol-valve" + +## Console type +consoleverbose="yes" +consoleinteract="yes" + +## Game Server Details +# Do not edit +gamename="Military Conflict: Vietnam" +engine="source" +glibc="2.15" + +#### Directories #### +# Edit with care + +## Game Server Directories +systemdir="${serverfiles}/vietnam" +executabledir="${serverfiles}" +executable="./srcds_run_x64" +servercfgdir="${systemdir}/cfg" +servercfg="${selfname}.cfg" +servercfgdefault="server.cfg" +servercfgfullpath="${servercfgdir}/${servercfg}" + +## Backup Directory +backupdir="${lgsmdir}/backup" + +## Logging Directories +[ -n "${LGSM_LOGDIR}" ] && logdir="${LGSM_LOGDIR}" || logdir="${rootdir}/log" +gamelogdir="${systemdir}/logs" +lgsmlogdir="${logdir}/script" +consolelogdir="${logdir}/console" +lgsmlog="${lgsmlogdir}/${selfname}-script.log" +consolelog="${consolelogdir}/${selfname}-console.log" +alertlog="${lgsmlogdir}/${selfname}-alert.log" +postdetailslog="${lgsmlogdir}/${selfname}-postdetails.log" + +## Logs Naming +lgsmlogdate="${lgsmlogdir}/${selfname}-script-$(date '+%Y-%m-%d-%H:%M:%S').log" +consolelogdate="${consolelogdir}/${selfname}-console-$(date '+%Y-%m-%d-%H:%M:%S').log" + +## Log Parameters +logtimestamp="off" +logtimestampformat="%Y-%m-%d %H:%M:%S" diff --git a/lgsm/config-default/config-lgsm/mhserver/_default.cfg b/lgsm/config-default/config-lgsm/mhserver/_default.cfg index 4414621fa..a8a86b446 100644 --- a/lgsm/config-default/config-lgsm/mhserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/mhserver/_default.cfg @@ -69,6 +69,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -98,6 +104,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg b/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg index 5784ceede..df8e01fe0 100644 --- a/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/mohaaserver/_default.cfg @@ -65,6 +65,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -94,6 +100,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/momserver/_default.cfg b/lgsm/config-default/config-lgsm/momserver/_default.cfg index 44eef19e7..ec376c361 100644 --- a/lgsm/config-default/config-lgsm/momserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/momserver/_default.cfg @@ -66,6 +66,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -95,6 +101,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/mtaserver/_default.cfg b/lgsm/config-default/config-lgsm/mtaserver/_default.cfg index 7bba9fc10..835b4c4e0 100644 --- a/lgsm/config-default/config-lgsm/mtaserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/mtaserver/_default.cfg @@ -63,6 +63,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -92,6 +98,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/ndserver/_default.cfg b/lgsm/config-default/config-lgsm/ndserver/_default.cfg index 3ef7000cd..f41567bff 100644 --- a/lgsm/config-default/config-lgsm/ndserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/ndserver/_default.cfg @@ -68,6 +68,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -97,6 +103,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/necserver/_default.cfg b/lgsm/config-default/config-lgsm/necserver/_default.cfg index 648e0a40c..1b3ae48f3 100644 --- a/lgsm/config-default/config-lgsm/necserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/necserver/_default.cfg @@ -63,6 +63,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -92,6 +98,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg b/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg index 330160428..106658818 100644 --- a/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/nmrihserver/_default.cfg @@ -73,6 +73,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -102,6 +108,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg b/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg index 565187394..fdd809dff 100644 --- a/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/ns2cserver/_default.cfg @@ -75,6 +75,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -104,6 +110,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/ns2server/_default.cfg b/lgsm/config-default/config-lgsm/ns2server/_default.cfg index 8964f1dfd..d8da66429 100644 --- a/lgsm/config-default/config-lgsm/ns2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/ns2server/_default.cfg @@ -76,6 +76,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -105,6 +111,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/nsserver/_default.cfg b/lgsm/config-default/config-lgsm/nsserver/_default.cfg index 98fce8ae9..7c981081f 100644 --- a/lgsm/config-default/config-lgsm/nsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/nsserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/ohdserver/_default.cfg b/lgsm/config-default/config-lgsm/ohdserver/_default.cfg index 6213a365f..17d4c8a18 100644 --- a/lgsm/config-default/config-lgsm/ohdserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/ohdserver/_default.cfg @@ -70,6 +70,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -99,6 +105,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/onsetserver/_default.cfg b/lgsm/config-default/config-lgsm/onsetserver/_default.cfg index 17a6c0767..12cabe90d 100644 --- a/lgsm/config-default/config-lgsm/onsetserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/onsetserver/_default.cfg @@ -61,6 +61,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -90,6 +96,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/opforserver/_default.cfg b/lgsm/config-default/config-lgsm/opforserver/_default.cfg index 7f025a854..5501fc651 100644 --- a/lgsm/config-default/config-lgsm/opforserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/opforserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/pc2server/_default.cfg b/lgsm/config-default/config-lgsm/pc2server/_default.cfg index ad71870c9..3ac6eeb77 100644 --- a/lgsm/config-default/config-lgsm/pc2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/pc2server/_default.cfg @@ -64,6 +64,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -93,6 +99,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/pcserver/_default.cfg b/lgsm/config-default/config-lgsm/pcserver/_default.cfg index 54dfa4019..601ffed3b 100644 --- a/lgsm/config-default/config-lgsm/pcserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/pcserver/_default.cfg @@ -60,6 +60,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -89,6 +95,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/pmcserver/_default.cfg b/lgsm/config-default/config-lgsm/pmcserver/_default.cfg index b915a9712..db456dbf7 100644 --- a/lgsm/config-default/config-lgsm/pmcserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/pmcserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg b/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg index 64ee41bb0..7f27e32a0 100644 --- a/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/pvkiiserver/_default.cfg @@ -68,6 +68,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -97,6 +103,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/pvrserver/_default.cfg b/lgsm/config-default/config-lgsm/pvrserver/_default.cfg index e3f0bc989..85deb664f 100644 --- a/lgsm/config-default/config-lgsm/pvrserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/pvrserver/_default.cfg @@ -69,6 +69,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" diff --git a/lgsm/config-default/config-lgsm/pwserver/_default.cfg b/lgsm/config-default/config-lgsm/pwserver/_default.cfg index c9052958a..c58ce087f 100644 --- a/lgsm/config-default/config-lgsm/pwserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/pwserver/_default.cfg @@ -68,6 +68,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -97,6 +103,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/pzserver/_default.cfg b/lgsm/config-default/config-lgsm/pzserver/_default.cfg index aa0ca6525..a0456d6e3 100644 --- a/lgsm/config-default/config-lgsm/pzserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/pzserver/_default.cfg @@ -64,6 +64,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -93,6 +99,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/q2server/_default.cfg b/lgsm/config-default/config-lgsm/q2server/_default.cfg index 5b40936e1..2fe85ea3c 100644 --- a/lgsm/config-default/config-lgsm/q2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/q2server/_default.cfg @@ -65,6 +65,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -94,6 +100,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/q3server/_default.cfg b/lgsm/config-default/config-lgsm/q3server/_default.cfg index 35e612651..24a3604fc 100644 --- a/lgsm/config-default/config-lgsm/q3server/_default.cfg +++ b/lgsm/config-default/config-lgsm/q3server/_default.cfg @@ -65,6 +65,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -94,6 +100,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/q4server/_default.cfg b/lgsm/config-default/config-lgsm/q4server/_default.cfg index 32293c955..f4f8f4655 100644 --- a/lgsm/config-default/config-lgsm/q4server/_default.cfg +++ b/lgsm/config-default/config-lgsm/q4server/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/qlserver/_default.cfg b/lgsm/config-default/config-lgsm/qlserver/_default.cfg index e1c8d2fac..057b0f09d 100644 --- a/lgsm/config-default/config-lgsm/qlserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/qlserver/_default.cfg @@ -60,6 +60,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -89,6 +95,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/qwserver/_default.cfg b/lgsm/config-default/config-lgsm/qwserver/_default.cfg index 39cce3204..b637f7d07 100644 --- a/lgsm/config-default/config-lgsm/qwserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/qwserver/_default.cfg @@ -64,6 +64,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -93,6 +99,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg b/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg index b97ff5b7f..a1d05ac95 100644 --- a/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/ricochetserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/roserver/_default.cfg b/lgsm/config-default/config-lgsm/roserver/_default.cfg index 10eb081bd..9d2863735 100644 --- a/lgsm/config-default/config-lgsm/roserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/roserver/_default.cfg @@ -68,6 +68,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -97,6 +103,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg b/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg index b8d3e1eb7..f2ba06a62 100644 --- a/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/rtcwserver/_default.cfg @@ -65,6 +65,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -94,6 +100,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/rustserver/_default.cfg b/lgsm/config-default/config-lgsm/rustserver/_default.cfg index c5823b5f1..418aad946 100644 --- a/lgsm/config-default/config-lgsm/rustserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/rustserver/_default.cfg @@ -80,6 +80,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -109,6 +115,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/rwserver/_default.cfg b/lgsm/config-default/config-lgsm/rwserver/_default.cfg index 2d95710e1..fe8c9f842 100644 --- a/lgsm/config-default/config-lgsm/rwserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/rwserver/_default.cfg @@ -60,6 +60,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -89,6 +95,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/sampserver/_default.cfg b/lgsm/config-default/config-lgsm/sampserver/_default.cfg index 3caf0a4f2..af548a639 100644 --- a/lgsm/config-default/config-lgsm/sampserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/sampserver/_default.cfg @@ -64,6 +64,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -93,6 +99,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg b/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg index 2bd551530..93644efe5 100644 --- a/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/sbotsserver/_default.cfg @@ -66,6 +66,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -95,6 +101,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/sbserver/_default.cfg b/lgsm/config-default/config-lgsm/sbserver/_default.cfg index 671e09b31..fbca63afc 100644 --- a/lgsm/config-default/config-lgsm/sbserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/sbserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/scpslserver/_default.cfg b/lgsm/config-default/config-lgsm/scpslserver/_default.cfg index 02140723b..2ad4b566c 100644 --- a/lgsm/config-default/config-lgsm/scpslserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/scpslserver/_default.cfg @@ -65,6 +65,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -94,6 +100,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/scpslsmserver/_default.cfg b/lgsm/config-default/config-lgsm/scpslsmserver/_default.cfg index 1ca04be52..eca5c43e6 100644 --- a/lgsm/config-default/config-lgsm/scpslsmserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/scpslsmserver/_default.cfg @@ -65,6 +65,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -94,6 +100,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg b/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg index 985b29643..383b51d23 100644 --- a/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg @@ -63,6 +63,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -92,6 +98,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/sfcserver/_default.cfg b/lgsm/config-default/config-lgsm/sfcserver/_default.cfg index 4b5c3bc91..856b172df 100644 --- a/lgsm/config-default/config-lgsm/sfcserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/sfcserver/_default.cfg @@ -68,6 +68,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -97,6 +103,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/sfserver/_default.cfg b/lgsm/config-default/config-lgsm/sfserver/_default.cfg index 4e7272b47..1fbcbf52e 100644 --- a/lgsm/config-default/config-lgsm/sfserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/sfserver/_default.cfg @@ -68,6 +68,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -97,6 +103,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/smserver/_default.cfg b/lgsm/config-default/config-lgsm/smserver/_default.cfg index 4fd669e9b..029b33306 100644 --- a/lgsm/config-default/config-lgsm/smserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/smserver/_default.cfg @@ -71,6 +71,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" diff --git a/lgsm/config-default/config-lgsm/sof2server/_default.cfg b/lgsm/config-default/config-lgsm/sof2server/_default.cfg index 70783da4a..88fdfd239 100644 --- a/lgsm/config-default/config-lgsm/sof2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/sof2server/_default.cfg @@ -65,6 +65,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -94,6 +100,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/solserver/_default.cfg b/lgsm/config-default/config-lgsm/solserver/_default.cfg index 06147b620..41d83dc5e 100644 --- a/lgsm/config-default/config-lgsm/solserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/solserver/_default.cfg @@ -64,6 +64,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -93,6 +99,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/squad44server/_default.cfg b/lgsm/config-default/config-lgsm/squad44server/_default.cfg index 36037a113..0235f155e 100644 --- a/lgsm/config-default/config-lgsm/squad44server/_default.cfg +++ b/lgsm/config-default/config-lgsm/squad44server/_default.cfg @@ -65,6 +65,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -94,6 +100,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/squadserver/_default.cfg b/lgsm/config-default/config-lgsm/squadserver/_default.cfg index db783c810..b19d59ce6 100644 --- a/lgsm/config-default/config-lgsm/squadserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/squadserver/_default.cfg @@ -65,6 +65,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -94,6 +100,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/stnserver/_default.cfg b/lgsm/config-default/config-lgsm/stnserver/_default.cfg index 4fef17c4b..d245e780d 100644 --- a/lgsm/config-default/config-lgsm/stnserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/stnserver/_default.cfg @@ -64,6 +64,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -93,6 +99,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/stserver/_default.cfg b/lgsm/config-default/config-lgsm/stserver/_default.cfg index 4aeaa9c8d..c724f2c19 100644 --- a/lgsm/config-default/config-lgsm/stserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/stserver/_default.cfg @@ -64,6 +64,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -93,6 +99,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/svenserver/_default.cfg b/lgsm/config-default/config-lgsm/svenserver/_default.cfg index 24ea8bf66..60a1e8c7a 100644 --- a/lgsm/config-default/config-lgsm/svenserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/svenserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg b/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg index 557ad48af..3694c63ba 100644 --- a/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/terrariaserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/tf2cserver/_default.cfg b/lgsm/config-default/config-lgsm/tf2cserver/_default.cfg index fdbcc2cba..e17cb3cd7 100644 --- a/lgsm/config-default/config-lgsm/tf2cserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/tf2cserver/_default.cfg @@ -75,6 +75,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" diff --git a/lgsm/config-default/config-lgsm/tf2server/_default.cfg b/lgsm/config-default/config-lgsm/tf2server/_default.cfg index 16a4285f0..3bd74259a 100644 --- a/lgsm/config-default/config-lgsm/tf2server/_default.cfg +++ b/lgsm/config-default/config-lgsm/tf2server/_default.cfg @@ -75,6 +75,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -104,6 +110,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/tfcserver/_default.cfg b/lgsm/config-default/config-lgsm/tfcserver/_default.cfg index ec2e2cade..123fe1b0b 100644 --- a/lgsm/config-default/config-lgsm/tfcserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/tfcserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/tfserver/_default.cfg b/lgsm/config-default/config-lgsm/tfserver/_default.cfg index 880e12acb..43026b5d1 100644 --- a/lgsm/config-default/config-lgsm/tfserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/tfserver/_default.cfg @@ -84,6 +84,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -113,6 +119,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/tiserver/_default.cfg b/lgsm/config-default/config-lgsm/tiserver/_default.cfg index 75aa946f0..59384527b 100644 --- a/lgsm/config-default/config-lgsm/tiserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/tiserver/_default.cfg @@ -66,6 +66,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -95,6 +101,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/ts3server/_default.cfg b/lgsm/config-default/config-lgsm/ts3server/_default.cfg index 87cd0dc31..8b6f0bc33 100644 --- a/lgsm/config-default/config-lgsm/ts3server/_default.cfg +++ b/lgsm/config-default/config-lgsm/ts3server/_default.cfg @@ -60,6 +60,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -89,6 +95,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/tsserver/_default.cfg b/lgsm/config-default/config-lgsm/tsserver/_default.cfg index b3e9799d6..8ade847bd 100644 --- a/lgsm/config-default/config-lgsm/tsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/tsserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/tuserver/_default.cfg b/lgsm/config-default/config-lgsm/tuserver/_default.cfg index a4e7acaf8..3597cac15 100644 --- a/lgsm/config-default/config-lgsm/tuserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/tuserver/_default.cfg @@ -70,6 +70,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -99,6 +105,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/twserver/_default.cfg b/lgsm/config-default/config-lgsm/twserver/_default.cfg index ea512f271..d423126ab 100644 --- a/lgsm/config-default/config-lgsm/twserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/twserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/untserver/_default.cfg b/lgsm/config-default/config-lgsm/untserver/_default.cfg index 7dd97e269..5ae3612fe 100644 --- a/lgsm/config-default/config-lgsm/untserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/untserver/_default.cfg @@ -74,6 +74,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -103,6 +109,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg b/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg index 37b219ece..40803ef4d 100644 --- a/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg +++ b/lgsm/config-default/config-lgsm/ut2k4server/_default.cfg @@ -64,6 +64,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -93,6 +99,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/ut3server/_default.cfg b/lgsm/config-default/config-lgsm/ut3server/_default.cfg index 1d7ecf269..031a2b047 100644 --- a/lgsm/config-default/config-lgsm/ut3server/_default.cfg +++ b/lgsm/config-default/config-lgsm/ut3server/_default.cfg @@ -80,6 +80,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -109,6 +115,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/ut99server/_default.cfg b/lgsm/config-default/config-lgsm/ut99server/_default.cfg index 62b4abc57..c1506ad38 100644 --- a/lgsm/config-default/config-lgsm/ut99server/_default.cfg +++ b/lgsm/config-default/config-lgsm/ut99server/_default.cfg @@ -64,6 +64,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -93,6 +99,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/utserver/_default.cfg b/lgsm/config-default/config-lgsm/utserver/_default.cfg index 401cded1a..e26b79e6e 100644 --- a/lgsm/config-default/config-lgsm/utserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/utserver/_default.cfg @@ -68,6 +68,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -97,6 +103,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/vhserver/_default.cfg b/lgsm/config-default/config-lgsm/vhserver/_default.cfg index 8380e7c16..a1691b839 100644 --- a/lgsm/config-default/config-lgsm/vhserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/vhserver/_default.cfg @@ -101,6 +101,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -130,6 +136,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/vintsserver/_default.cfg b/lgsm/config-default/config-lgsm/vintsserver/_default.cfg index ed57b6d84..47dcfb3d0 100644 --- a/lgsm/config-default/config-lgsm/vintsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/vintsserver/_default.cfg @@ -64,6 +64,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -93,6 +99,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/vpmcserver/_default.cfg b/lgsm/config-default/config-lgsm/vpmcserver/_default.cfg index 6bccc92fd..67715860f 100644 --- a/lgsm/config-default/config-lgsm/vpmcserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/vpmcserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/vsserver/_default.cfg b/lgsm/config-default/config-lgsm/vsserver/_default.cfg index 9414c6978..d640347ac 100644 --- a/lgsm/config-default/config-lgsm/vsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/vsserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/wetserver/_default.cfg b/lgsm/config-default/config-lgsm/wetserver/_default.cfg index fdd42aaf9..819390dc0 100644 --- a/lgsm/config-default/config-lgsm/wetserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/wetserver/_default.cfg @@ -60,6 +60,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -89,6 +95,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Backup | https://docs.linuxgsm.com/commands/backup maxbackups="4" maxbackupdays="30" diff --git a/lgsm/config-default/config-lgsm/wfserver/_default.cfg b/lgsm/config-default/config-lgsm/wfserver/_default.cfg index adde08321..ab0c88e30 100644 --- a/lgsm/config-default/config-lgsm/wfserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/wfserver/_default.cfg @@ -65,6 +65,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -94,6 +100,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/wmcserver/_default.cfg b/lgsm/config-default/config-lgsm/wmcserver/_default.cfg index d5ff2893f..4b2a25806 100644 --- a/lgsm/config-default/config-lgsm/wmcserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/wmcserver/_default.cfg @@ -67,6 +67,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -96,6 +102,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg index d65df817f..a57da3c36 100644 --- a/lgsm/config-default/config-lgsm/wurmserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/wurmserver/_default.cfg @@ -104,6 +104,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -133,6 +139,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/xntserver/_default.cfg b/lgsm/config-default/config-lgsm/xntserver/_default.cfg index d7b85f58a..da371512e 100644 --- a/lgsm/config-default/config-lgsm/xntserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/xntserver/_default.cfg @@ -62,6 +62,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" diff --git a/lgsm/config-default/config-lgsm/zmrserver/_default.cfg b/lgsm/config-default/config-lgsm/zmrserver/_default.cfg index b2c61b9fd..262487bdb 100644 --- a/lgsm/config-default/config-lgsm/zmrserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/zmrserver/_default.cfg @@ -68,6 +68,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -97,6 +103,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg index c43b008b5..456a61765 100644 --- a/lgsm/config-default/config-lgsm/zpsserver/_default.cfg +++ b/lgsm/config-default/config-lgsm/zpsserver/_default.cfg @@ -73,6 +73,12 @@ ntfypassword="" ntfypriority="" ntfytags="" +# Matrix Alerts | https://docs.linuxgsm.com/alerts/matrix +matrixalert="off" +matrixhomeserver="matrix.org" +matrixtoken="accesstoken" +matrixroom="" + # Pushbullet Alerts | https://docs.linuxgsm.com/alerts/pushbullet pushbulletalert="off" pushbullettoken="accesstoken" @@ -102,6 +108,10 @@ telegramthreadid="" telegramsilentnotification="false" curlcustomstring="" +## Stop | https://docs.linuxgsm.com/commands/start-stop-restart +stoponlyifnoplayers="off" +stoponlyifnoplayersallcommands="on" + ## Updating | https://docs.linuxgsm.com/commands/update updateonstart="off" diff --git a/lgsm/data/almalinux-8.csv b/lgsm/data/almalinux-8.csv index 2405a4b3e..e02ca7858 100644 --- a/lgsm/data/almalinux-8.csv +++ b/lgsm/data/almalinux-8.csv @@ -58,6 +58,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -67,6 +68,7 @@ l4d l4d2 mc,java-21-openjdk mcb,libnsl +mcv mh mohaa,compat-libstdc++-33.i686 mta,ncurses-compat-libs,libxml2 @@ -82,7 +84,6 @@ opfor pc pc2 pmc,java-21-openjdk -ps,GConf2 pvkii pvr,libcxx pw @@ -109,12 +110,14 @@ sm,telnet,expect sof2 sol squad +squad44 st,libxml2 stn sven terraria tf tf2,libcurl.i686 +tf2c,libcurl.i686 tfc ti ts diff --git a/lgsm/data/almalinux-9.csv b/lgsm/data/almalinux-9.csv index 069e8e437..5a6d996e7 100644 --- a/lgsm/data/almalinux-9.csv +++ b/lgsm/data/almalinux-9.csv @@ -58,6 +58,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -67,6 +68,7 @@ l4d l4d2 mc,java-21-openjdk mcb,libnsl +mcv mh mohaa,compat-libstdc++-33.i686 mta,ncurses-compat-libs,libxml2 @@ -82,7 +84,6 @@ opfor pc pc2 pmc,java-21-openjdk -ps,GConf2 pvkii pvr,libcxx pw @@ -109,12 +110,14 @@ sm,telnet,expect sof2 sol squad +squad44 st,libxml2 stn sven terraria tf tf2,libcurl.i686 +tf2c,libcurl.i686 tfc ti ts diff --git a/lgsm/data/centos-7.csv b/lgsm/data/centos-7.csv index 39af5868d..c5632722e 100644 --- a/lgsm/data/centos-7.csv +++ b/lgsm/data/centos-7.csv @@ -58,6 +58,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -67,6 +68,7 @@ l4d l4d2 mc,java-21-openjdk mcb,libnsl +mcv mh mohaa,compat-libstdc++-33.i686 mta,ncurses-libs,libxml2 @@ -82,7 +84,6 @@ opfor pc pc2 pmc,java-11-openjdk -ps,GConf2 pvkii pvr,libcxx pw @@ -109,12 +110,14 @@ sm,telnet,expect sof2 sol squad +squad44 st,libxml2 stn sven terraria tf tf2,libcurl.i686 +tf2c,libcurl.i686 tfc ti ts diff --git a/lgsm/data/centos-8.csv b/lgsm/data/centos-8.csv index bcaf1e31d..0b0b766d0 100644 --- a/lgsm/data/centos-8.csv +++ b/lgsm/data/centos-8.csv @@ -58,6 +58,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -67,6 +68,7 @@ l4d l4d2 mc,java-21-openjdk mcb,libnsl +mcv mh mohaa,compat-libstdc++-33.i686 mta,ncurses-compat-libs,libxml2 @@ -82,7 +84,6 @@ opfor pc pc2 pmc,java-17-openjdk -ps,GConf2 pvkii pvr,libcxx pw @@ -109,12 +110,14 @@ sm,telnet,expect sof2 sol squad +squad44 st,libxml2 stn sven terraria tf tf2,libcurl.i686 +tf2c,libcurl.i686 tfc ti ts diff --git a/lgsm/data/centos-9.csv b/lgsm/data/centos-9.csv index 446a55ebb..fd9c0fa39 100644 --- a/lgsm/data/centos-9.csv +++ b/lgsm/data/centos-9.csv @@ -58,6 +58,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -67,6 +68,7 @@ l4d l4d2 mc,java-17-openjdk mcb,libnsl +mcv mh mohaa,compat-libstdc++-33.i686 mta,ncurses-compat-libs,libxml2 @@ -82,7 +84,6 @@ opfor pc pc2 pmc,java-17-openjdk -ps,GConf2 pvkii pvr,libcxx pw @@ -109,12 +110,14 @@ sm,telnet,expect sof2 sol squad +squad44 st,libxml2 stn sven terraria tf tf2,libcurl.i686 +tf2c,libcurl.i686 tfc ti ts diff --git a/lgsm/data/debian-10.csv b/lgsm/data/debian-10.csv index e0c6ea7e4..5b8d73a06 100644 --- a/lgsm/data/debian-10.csv +++ b/lgsm/data/debian-10.csv @@ -57,6 +57,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -66,6 +67,7 @@ l4d l4d2 mc,openjdk-11-jre mcb +mcv mh mohaa,libstdc++5:i386 mta,libncursesw5,libxml2-utils @@ -115,6 +117,7 @@ sven,zlib1g:i386 terraria tf tf2,libcurl4-gnutls-dev:i386 +tf2c,libcurl4-gnutls-dev:i386 tfc ti ts diff --git a/lgsm/data/debian-11.csv b/lgsm/data/debian-11.csv index 0d2652293..adba97d27 100644 --- a/lgsm/data/debian-11.csv +++ b/lgsm/data/debian-11.csv @@ -58,6 +58,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -67,6 +68,7 @@ l4d l4d2 mc,openjdk-17-jre mcb +mcv mh mohaa,libstdc++5:i386 mta,libncursesw5,libxml2-utils @@ -115,6 +117,7 @@ sven,zlib1g:i386 terraria tf tf2,libcurl4-gnutls-dev:i386 +tf2c,libcurl4-gnutls-dev:i386 tfc ti ts diff --git a/lgsm/data/debian-12.csv b/lgsm/data/debian-12.csv index e67a822b7..40e325b6c 100644 --- a/lgsm/data/debian-12.csv +++ b/lgsm/data/debian-12.csv @@ -58,6 +58,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -67,6 +68,7 @@ l4d l4d2 mc,openjdk-17-jre mcb +mcv mh mohaa,libstdc++5:i386 mta,libncursesw5,libxml2-utils @@ -115,6 +117,7 @@ sven,libssl3:i386,zlib1g:i386 terraria tf tf2,libcurl4-gnutls-dev:i386 +tf2c,libcurl4-gnutls-dev:i386 tfc ti ts @@ -127,7 +130,7 @@ ut2k4 ut3 ut99 vh,libc6-dev,libatomic1,libpulse-dev -vints,dotnet-runtime-8.0 +vints,dotnet-runtime-10.0 vpmc,openjdk-17-jre vs wet diff --git a/lgsm/data/debian-13.csv b/lgsm/data/debian-13.csv index e7a622a7e..94c6cf1ae 100644 --- a/lgsm/data/debian-13.csv +++ b/lgsm/data/debian-13.csv @@ -16,7 +16,7 @@ bfv,libncurses5:i386,libstdc++5:i386 bmdm,libncurses5:i386 bo bs -bt,libicu-dev,dos2unix,libxml2-utils +bt,libicu-dev,dos2unix,libxml2 btl cc ck,xvfb,libxi6 @@ -58,6 +58,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -67,9 +68,10 @@ l4d l4d2 mc,openjdk-25-jre mcb +mcv mh mohaa,libstdc++5:i386 -mta,libncursesw5,libxml2-utils +mta,libncursesw6,libxml2 nd nec nmrih @@ -102,19 +104,20 @@ sb sbots scpsl,mono-complete,libicu76 scpslsm,mono-complete -sdtd,telnet,expect,libxml2-utils +sdtd,telnet,expect,libxml2 sf sfc sm,telnet,expect sof2 sol squad -st,libxml2-utils +st,libxml2 stn sven,libssl3:i386,zlib1g:i386 terraria tf tf2,libcurl4-gnutls-dev:i386 +tf2c,libcurl4-gnutls-dev:i386 tfc ti ts @@ -127,12 +130,12 @@ ut2k4 ut3 ut99 vh,libc6-dev,libatomic1,libpulse-dev -vints,dotnet-runtime-8.0 -vpmc,openjdk-21-jre +vints,dotnet-runtime-10.0 +vpmc,openjdk-25-jre vs wet wf -wmc,openjdk21-jre +wmc,openjdk-25-jre wurm,xvfb xnt zmr diff --git a/lgsm/data/debian-9.csv b/lgsm/data/debian-9.csv index a111c6800..c0e990961 100644 --- a/lgsm/data/debian-9.csv +++ b/lgsm/data/debian-9.csv @@ -58,6 +58,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -67,6 +68,7 @@ l4d l4d2 mc,openjdk-8-jre mcb +mcv mh mohaa,libstdc++5:i386 mta,libncursesw5,libxml2-utils @@ -115,6 +117,7 @@ sven,zlib1g:i386 terraria tf tf2,libcurl4-gnutls-dev:i386 +tf2c,libcurl4-gnutls-dev:i386 tfc ti ts diff --git a/lgsm/data/gameicons/jbep3-icon.png b/lgsm/data/gameicons/jbep3-icon.png new file mode 100644 index 000000000..609a0345f Binary files /dev/null and b/lgsm/data/gameicons/jbep3-icon.png differ diff --git a/lgsm/data/gameicons/mcv-icon.png b/lgsm/data/gameicons/mcv-icon.png new file mode 100644 index 000000000..fefcc2346 Binary files /dev/null and b/lgsm/data/gameicons/mcv-icon.png differ diff --git a/lgsm/data/gameicons/ps-icon.png b/lgsm/data/gameicons/ps-icon.png deleted file mode 100644 index afe81e823..000000000 Binary files a/lgsm/data/gameicons/ps-icon.png and /dev/null differ diff --git a/lgsm/data/gameicons/squad44-icon.png b/lgsm/data/gameicons/squad44-icon.png new file mode 100644 index 000000000..0d2a6fc8e Binary files /dev/null and b/lgsm/data/gameicons/squad44-icon.png differ diff --git a/lgsm/data/gameicons/tf2c-icon.png b/lgsm/data/gameicons/tf2c-icon.png new file mode 100644 index 000000000..f466347a1 Binary files /dev/null and b/lgsm/data/gameicons/tf2c-icon.png differ diff --git a/lgsm/data/rhel-7.csv b/lgsm/data/rhel-7.csv index 26420d76f..d7801771c 100644 --- a/lgsm/data/rhel-7.csv +++ b/lgsm/data/rhel-7.csv @@ -59,6 +59,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -68,6 +69,7 @@ l4d l4d2 mc,java-11-openjdk mcb,libnsl +mcv mh mohaa,compat-libstdc++-33.i686 mta,ncurses-libs,libxml2 @@ -83,7 +85,6 @@ opfor pc pc2 pmc,java-11-openjdk -ps,GConf2 pvkii pvr,libcxx pz,java-11-openjdk rng-tools @@ -109,12 +110,14 @@ sm,telnet,expect sof2 sol squad +squad44 st,libxml2 stn sven terraria tf tf2,libcurl.i686 +tf2c,libcurl.i686 tfc ti ts diff --git a/lgsm/data/rhel-8.csv b/lgsm/data/rhel-8.csv index 9515a12ac..d65424265 100644 --- a/lgsm/data/rhel-8.csv +++ b/lgsm/data/rhel-8.csv @@ -58,6 +58,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -67,6 +68,7 @@ l4d l4d2 mc,java-21-openjdk mcb,libnsl +mcv mh mohaa,compat-libstdc++-33.i686 mta,ncurses-compat-libs,libxml2 @@ -82,7 +84,6 @@ opfor pc pc2 pmc,java-21-openjdk -ps,GConf2 pvkii pvr,libcxx pw @@ -109,12 +110,14 @@ sm,telnet,expect sof2 sol squad +squad44 st,libxml2 stn sven terraria tf tf2,libcurl.i686 +tf2c,libcurl.i686 tfc ti ts diff --git a/lgsm/data/rhel-9.csv b/lgsm/data/rhel-9.csv index 069e8e437..5a6d996e7 100644 --- a/lgsm/data/rhel-9.csv +++ b/lgsm/data/rhel-9.csv @@ -58,6 +58,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -67,6 +68,7 @@ l4d l4d2 mc,java-21-openjdk mcb,libnsl +mcv mh mohaa,compat-libstdc++-33.i686 mta,ncurses-compat-libs,libxml2 @@ -82,7 +84,6 @@ opfor pc pc2 pmc,java-21-openjdk -ps,GConf2 pvkii pvr,libcxx pw @@ -109,12 +110,14 @@ sm,telnet,expect sof2 sol squad +squad44 st,libxml2 stn sven terraria tf tf2,libcurl.i686 +tf2c,libcurl.i686 tfc ti ts diff --git a/lgsm/data/rocky-8.csv b/lgsm/data/rocky-8.csv index 9515a12ac..d65424265 100644 --- a/lgsm/data/rocky-8.csv +++ b/lgsm/data/rocky-8.csv @@ -58,6 +58,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -67,6 +68,7 @@ l4d l4d2 mc,java-21-openjdk mcb,libnsl +mcv mh mohaa,compat-libstdc++-33.i686 mta,ncurses-compat-libs,libxml2 @@ -82,7 +84,6 @@ opfor pc pc2 pmc,java-21-openjdk -ps,GConf2 pvkii pvr,libcxx pw @@ -109,12 +110,14 @@ sm,telnet,expect sof2 sol squad +squad44 st,libxml2 stn sven terraria tf tf2,libcurl.i686 +tf2c,libcurl.i686 tfc ti ts diff --git a/lgsm/data/rocky-9.csv b/lgsm/data/rocky-9.csv index 069e8e437..5a6d996e7 100644 --- a/lgsm/data/rocky-9.csv +++ b/lgsm/data/rocky-9.csv @@ -58,6 +58,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -67,6 +68,7 @@ l4d l4d2 mc,java-21-openjdk mcb,libnsl +mcv mh mohaa,compat-libstdc++-33.i686 mta,ncurses-compat-libs,libxml2 @@ -82,7 +84,6 @@ opfor pc pc2 pmc,java-21-openjdk -ps,GConf2 pvkii pvr,libcxx pw @@ -109,12 +110,14 @@ sm,telnet,expect sof2 sol squad +squad44 st,libxml2 stn sven terraria tf tf2,libcurl.i686 +tf2c,libcurl.i686 tfc ti ts diff --git a/lgsm/data/serverlist.csv b/lgsm/data/serverlist.csv index 2f964a30d..3ddc013c3 100644 --- a/lgsm/data/serverlist.csv +++ b/lgsm/data/serverlist.csv @@ -57,6 +57,7 @@ hz,hzserver,Humanitz,ubuntu-24.04 ins,insserver,Insurgency,ubuntu-24.04 inss,inssserver,Insurgency: Sandstorm,ubuntu-24.04 ios,iosserver,IOSoccer,ubuntu-24.04 +jbep3,jbep3server,Jabroni Brawl: Episode 3,ubuntu-24.04 jc2,jc2server,Just Cause 2,ubuntu-24.04 jc3,jc3server,Just Cause 3,ubuntu-24.04 jk2,jk2server,Jedi Knight II: Jedi Outcast,ubuntu-24.04 @@ -66,6 +67,7 @@ l4d,l4dserver,Left 4 Dead,ubuntu-24.04 l4d2,l4d2server,Left 4 Dead 2,ubuntu-24.04 mc,mcserver,Minecraft,ubuntu-24.04 mcb,mcbserver,Minecraft Bedrock,ubuntu-24.04 +mcv,mcvserver,Military Conflict: Vietnam,ubuntu-24.04 mh,mhserver,MORDHAU,ubuntu-24.04 mohaa,mohaaserver,Medal of Honor: Allied Assault,ubuntu-24.04 mta,mtaserver,Multi Theft Auto,ubuntu-24.04 diff --git a/lgsm/data/ubuntu-16.04.csv b/lgsm/data/ubuntu-16.04.csv index 844903c3a..24fcf33e2 100644 --- a/lgsm/data/ubuntu-16.04.csv +++ b/lgsm/data/ubuntu-16.04.csv @@ -59,6 +59,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -68,6 +69,7 @@ l4d l4d2 mc,openjdk-8-jre mcb +mcv mh mohaa,libstdc++5:i386 mta @@ -115,6 +117,7 @@ sven,zlib1g:i386 terraria tf tf2,libcurl4-gnutls-dev:i386 +tf2c,libcurl4-gnutls-dev:i386 tfc ti ts diff --git a/lgsm/data/ubuntu-18.04.csv b/lgsm/data/ubuntu-18.04.csv index b058c3024..b283b629a 100644 --- a/lgsm/data/ubuntu-18.04.csv +++ b/lgsm/data/ubuntu-18.04.csv @@ -59,6 +59,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -68,6 +69,7 @@ l4d l4d2 mc,openjdk-11-jre mcb +mcv mh mohaa,libstdc++5:i386 mta,libncursesw5,libxml2-utils @@ -115,6 +117,7 @@ sven,zlib1g:i386 terraria tf tf2,libcurl4-gnutls-dev:i386 +tf2c,libcurl4-gnutls-dev:i386 tfc ti ts diff --git a/lgsm/data/ubuntu-20.04.csv b/lgsm/data/ubuntu-20.04.csv index dc54ea10f..b086d0095 100644 --- a/lgsm/data/ubuntu-20.04.csv +++ b/lgsm/data/ubuntu-20.04.csv @@ -58,6 +58,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -67,6 +68,7 @@ l4d l4d2 mc,openjdk-21-jre mcb +mcv mh mohaa,libstdc++5:i386 mta,libncursesw5,libxml2-utils @@ -115,6 +117,7 @@ sven,zlib1g:i386 terraria tf tf2,libcurl4-gnutls-dev:i386 +tf2c,libcurl4-gnutls-dev:i386 tfc ti ts diff --git a/lgsm/data/ubuntu-22.04.csv b/lgsm/data/ubuntu-22.04.csv index 46c036e1b..93bfbd4cf 100644 --- a/lgsm/data/ubuntu-22.04.csv +++ b/lgsm/data/ubuntu-22.04.csv @@ -58,6 +58,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -67,6 +68,7 @@ l4d l4d2 mc,openjdk-21-jre mcb +mcv mh mohaa,libstdc++5:i386 mta,libncursesw5,libxml2-utils @@ -115,6 +117,7 @@ sven,zlib1g:i386 terraria tf tf2,libcurl4-gnutls-dev:i386 +tf2c,libcurl4-gnutls-dev:i386 tfc ti ts diff --git a/lgsm/data/ubuntu-23.04.csv b/lgsm/data/ubuntu-23.04.csv index ca84edf29..cb871bde0 100644 --- a/lgsm/data/ubuntu-23.04.csv +++ b/lgsm/data/ubuntu-23.04.csv @@ -58,6 +58,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -67,6 +68,7 @@ l4d l4d2 mc,openjdk-21-jre mcb +mcv mh mohaa,libstdc++5:i386 mta,libncursesw5,libxml2-utils @@ -115,6 +117,7 @@ sven,zlib1g:i386 terraria tf tf2,libcurl4-gnutls-dev:i386 +tf2c,libcurl4-gnutls-dev:i386 tfc ti ts diff --git a/lgsm/data/ubuntu-23.10.csv b/lgsm/data/ubuntu-23.10.csv index ca84edf29..cb871bde0 100644 --- a/lgsm/data/ubuntu-23.10.csv +++ b/lgsm/data/ubuntu-23.10.csv @@ -58,6 +58,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -67,6 +68,7 @@ l4d l4d2 mc,openjdk-21-jre mcb +mcv mh mohaa,libstdc++5:i386 mta,libncursesw5,libxml2-utils @@ -115,6 +117,7 @@ sven,zlib1g:i386 terraria tf tf2,libcurl4-gnutls-dev:i386 +tf2c,libcurl4-gnutls-dev:i386 tfc ti ts diff --git a/lgsm/data/ubuntu-24.04.csv b/lgsm/data/ubuntu-24.04.csv index ff95bec14..0e010abd6 100644 --- a/lgsm/data/ubuntu-24.04.csv +++ b/lgsm/data/ubuntu-24.04.csv @@ -58,6 +58,7 @@ hz ins inss ios +jbep3 jc2 jc3 jk2 @@ -67,6 +68,7 @@ l4d l4d2 mc,openjdk-25-jre mcb +mcv mh mohaa,libstdc++5:i386 mta,libxml2-utils @@ -81,12 +83,11 @@ onset,libmariadb-dev opfor pc pc2 -pmc,openjdk-21-jre -ps +pmc,openjdk-25-jre pvkii pvr,libc++1 pw -pz,openjdk-21-jre,rng-tools5 +pz,openjdk-25-jre,rng-tools5 q2 q3 q4 @@ -96,7 +97,7 @@ ricochet ro rtcw rust,lib32z1 -rw,openjdk-21-jre +rw,openjdk-25-jre samp sb sbots @@ -109,12 +110,14 @@ sm,telnet,expect sof2 sol squad +squad44 st,libxml2-utils stn sven,zlib1g:i386 terraria tf tf2,libcurl4-gnutls-dev:i386 +tf2c,libcurl4-gnutls-dev:i386 tfc ti ts @@ -127,12 +130,12 @@ ut2k4 ut3 ut99 vh,libc6-dev,libatomic1,libpulse-dev -vints,dotnet-runtime-8.0 -vpmc,openjdk-21-jre +vints,dotnet-runtime-10.0 +vpmc,openjdk-25-jre vs wet wf -wmc,openjdk-21-jre +wmc,openjdk-25-jre wurm,xvfb xnt zmr diff --git a/lgsm/data/ubuntu-26.04.csv b/lgsm/data/ubuntu-26.04.csv new file mode 100644 index 000000000..0e010abd6 --- /dev/null +++ b/lgsm/data/ubuntu-26.04.csv @@ -0,0 +1,142 @@ +all,bc,binutils,bsdmainutils,bzip2,ca-certificates,cpio,curl,distro-info,file,gzip,hostname,jq,lib32gcc-s1,lib32stdc++6,netcat-openbsd,pigz,python3,tar,tmux,unzip,util-linux,uuid-runtime,wget,xz-utils +steamcmd,lib32gcc-s1,lib32stdc++6,libsdl2-2.0-0:i386,steamcmd +ac +ahl +ahl2 +ark +arma3 +armar,libcurl4t64 +ats +av +bb +bb2,libcurl4-gnutls-dev:i386 +bd +bf1942 +bfv,libstdc++5:i386 +bmdm +bo +bs +bt,libicu-dev,dos2unix,libxml2-utils +btl +cc +ck,xvfb,libxi6 +cmw +cod,libstdc++5:i386 +cod2,libstdc++5:i386 +cod4 +coduo,libstdc++5:i386 +codwaw +col +cs +cs2 +cscz +csgo +css +ct +dab +dayz +dmc +dod +dodr +dods +doi +dst,libcurl4-gnutls-dev:i386 +dys +eco,libgdiplus +em +etl +ets2 +fctr +fof +gmod +hcu +hl2dm +hldm +hldms +hw,lib32z1 +hz +ins +inss +ios +jbep3 +jc2 +jc3 +jk2 +kf +kf2 +l4d +l4d2 +mc,openjdk-25-jre +mcb +mcv +mh +mohaa,libstdc++5:i386 +mta,libxml2-utils +nd +nec +nmrih +ns +ns2,speex +ns2c,speex:i386 +ohd +onset,libmariadb-dev +opfor +pc +pc2 +pmc,openjdk-25-jre +pvkii +pvr,libc++1 +pw +pz,openjdk-25-jre,rng-tools5 +q2 +q3 +q4 +ql +qw +ricochet +ro +rtcw +rust,lib32z1 +rw,openjdk-25-jre +samp +sb +sbots +scpsl,mono-complete +scpslsm,mono-complete +sdtd,telnet,expect,libxml2-utils +sf +sfc +sm,telnet,expect +sof2 +sol +squad +squad44 +st,libxml2-utils +stn +sven,zlib1g:i386 +terraria +tf +tf2,libcurl4-gnutls-dev:i386 +tf2c,libcurl4-gnutls-dev:i386 +tfc +ti +ts +ts3 +tu +tw +unt +ut +ut2k4 +ut3 +ut99 +vh,libc6-dev,libatomic1,libpulse-dev +vints,dotnet-runtime-10.0 +vpmc,openjdk-25-jre +vs +wet +wf +wmc,openjdk-25-jre +wurm,xvfb +xnt +zmr +zps diff --git a/lgsm/modules/alert.sh b/lgsm/modules/alert.sh index ac7d92d83..b256390df 100755 --- a/lgsm/modules/alert.sh +++ b/lgsm/modules/alert.sh @@ -379,6 +379,25 @@ elif [ -z "${slacktoken}" ] && [ "${commandname}" == "TEST-ALERT" ]; then fn_script_error "Slack token not set" fi +if [ "${matrixalert}" == "on" ] && [ -n "${matrixhomeserver}" ] && [ -n "${matrixtoken}" ] && [ -n "${matrixroom}" ]; then + alert_matrix.sh +elif [ "${matrixalert}" != "on" ] && [ "${commandname}" == "TEST-ALERT" ]; then + fn_print_warn_nl "Matrix alerts not enabled" + fn_script_log_warn "Matrix alerts not enabled" +elif [ -z "${matrixhomeserver}" ] && [ "${commandname}" == "TEST-ALERT" ]; then + fn_print_error_nl "Matrix homeserver not set" + echo -e "* https://docs.linuxgsm.com/alerts/matrix" + fn_script_error "Matrix homeserver not set" +elif [ -z "${matrixtoken}" ] && [ "${commandname}" == "TEST-ALERT" ]; then + fn_print_error_nl "Matrix token not set" + echo -e "* https://docs.linuxgsm.com/alerts/matrix" + fn_script_error "Matrix token not set" +elif [ -z "${matrixroom}" ] && [ "${commandname}" == "TEST-ALERT" ]; then + fn_print_error_nl "Matrix room not set" + echo -e "* https://docs.linuxgsm.com/alerts/matrix" + fn_script_error "Matrix room not set" +fi + if [ "${ntfyalert}" == "on" ] && [ -n "${ntfytopic}" ]; then alert_ntfy.sh elif [ "${ntfyalert}" != "on" ] && [ "${commandname}" == "TEST-ALERT" ]; then diff --git a/lgsm/modules/alert_matrix.sh b/lgsm/modules/alert_matrix.sh new file mode 100755 index 000000000..34d226f1f --- /dev/null +++ b/lgsm/modules/alert_matrix.sh @@ -0,0 +1,70 @@ +#!/bin/bash +# LinuxGSM alert_matrix.sh module +# Author: Daniel Gibbs (Original Structure) +# Contributors: https://linuxgsm.com/contrib +# Website: https://linuxgsm.com +# Description: Sends Matrix alert. + +moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" + +matrixbase="${matrixhomeserver}" +if [[ "${matrixbase}" != http://* ]] && [[ "${matrixbase}" != https://* ]]; then + matrixbase="https://${matrixbase}" +fi +matrixbase="${matrixbase%/}" + +# matrixroom must be the internal room ID (e.g. !abc123:matrix.org), not the room alias (#room:matrix.org). +matrixroomencoded="$(jq -rn --arg room "${matrixroom}" '$room|@uri')" +matrixtxnid="$(date +%s%N)" +matrixurl="${matrixbase}/_matrix/client/v3/rooms/${matrixroomencoded}/send/m.room.message/${matrixtxnid}" + +message="${alerttitle} + +Server Name +${servername} + +Information +${alertmessage} + +Game +${gamename} + +Server IP +${alertip}:${port} + +Server Time +$(date)" + +if [ -n "${querytype}" ]; then + message+=" + +Is my Game Server Online? +https://ismygameserver.online/${imgsoquerytype}/${alertip}:${queryport}" +fi + +if [ -n "${alerturl}" ]; then + message+=" + +More info +${alerturl}" +fi + +json="$(jq -cn --arg body "${message}" '{msgtype: "m.notice", body: $body}')" + +fn_print_dots "Sending Matrix alert" + +matrixsend=$(curl --connect-timeout 10 -sSL -X PUT \ + -H "Authorization: Bearer ${matrixtoken}" \ + -H "Content-Type: application/json" \ + -d "${json}" \ + "${matrixurl}") +exitcode=$? + +matrixeventid="$(echo "${matrixsend}" | jq -r '.event_id // empty' 2> /dev/null)" +if [ "${exitcode}" -eq 0 ] && [ -n "${matrixeventid}" ]; then + fn_print_ok_nl "Sending Matrix alert" + fn_script_log_pass "Sending Matrix alert" +else + fn_print_fail_nl "Sending Matrix alert: ${matrixsend}" + fn_script_log_fail "Sending Matrix alert: ${matrixsend}" +fi diff --git a/lgsm/modules/check_deps.sh b/lgsm/modules/check_deps.sh index 6d572fd40..b03189897 100755 --- a/lgsm/modules/check_deps.sh +++ b/lgsm/modules/check_deps.sh @@ -8,15 +8,28 @@ moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" fn_install_dotnet_repo() { + local dotnetpackage + dotnetpackage="dotnet-runtime-7.0" + + for dep in "${array_deps_missing[@]}"; do + if [[ "${dep}" == dotnet-runtime-* ]]; then + dotnetpackage="${dep}" + break + fi + done + if [ "${distroid}" == "ubuntu" ]; then - # if package dotnet-runtime-7.0 is unavailable in ubuntu repos, add the microsoft repo. - if ! apt-cache show dotnet-runtime-7.0 > /dev/null 2>&1; then + # If the required .NET package is unavailable in Ubuntu repos, add the Microsoft repo. + if ! apt-cache show "${dotnetpackage}" > /dev/null 2>&1; then fn_fetch_file "https://packages.microsoft.com/config/ubuntu/${distroversion}/packages-microsoft-prod.deb" "" "" "" "/tmp" "packages-microsoft-prod.deb" "" "" "" "" sudo dpkg -i /tmp/packages-microsoft-prod.deb fi elif [ "${distroid}" == "debian" ]; then - fn_fetch_file "https://packages.microsoft.com/config/debian/${distroversion}/packages-microsoft-prod.deb" "" "" "" "/tmp" "packages-microsoft-prod.deb" "" "" "" "" - sudo dpkg -i /tmp/packages-microsoft-prod.deb + # If the required .NET package is unavailable in Debian repos, add the Microsoft repo. + if ! apt-cache show "${dotnetpackage}" > /dev/null 2>&1; then + fn_fetch_file "https://packages.microsoft.com/config/debian/${distroversion}/packages-microsoft-prod.deb" "" "" "" "/tmp" "packages-microsoft-prod.deb" "" "" "" "" + sudo dpkg -i /tmp/packages-microsoft-prod.deb + fi fi } @@ -113,6 +126,9 @@ fn_deps_email() { array_deps_required+=(exim4) elif [ -d /etc/sendmail ]; then array_deps_required+=(sendmail) + elif [ "$(command -v apt 2> /dev/null)" ] && [ -d /etc/nullmailer ]; then + # 'mailutils' provides the 'mail' binary, 'nullmailer' is the MTA + array_deps_required+=(mailutils nullmailer) elif [ "$(command -v yum 2> /dev/null)" ] || [ "$(command -v dnf 2> /dev/null)" ]; then array_deps_required+=(s-nail postfix) elif [ "$(command -v apt 2> /dev/null)" ]; then @@ -281,10 +297,10 @@ fn_deps_detector() { depstatus=1 monoinstalled=false fi - # .NET Core: A .NET Core repo needs to be installed. - elif [ "${deptocheck}" == "dotnet-runtime-7.0" ]; then - # .NET is not installed. - if dotnet --list-runtimes | grep -q "Microsoft.NETCore.App 7.0"; then + # .NET runtime: check installed runtime version for any dotnet-runtime-X.Y package. + elif [[ "${deptocheck}" =~ ^dotnet-runtime-([0-9]+\.[0-9]+)$ ]]; then + dotnetrequired="${BASH_REMATCH[1]}" + if [ "$(command -v dotnet 2> /dev/null)" ] && dotnet --list-runtimes | grep -q "Microsoft.NETCore.App ${dotnetrequired}"; then depstatus=0 dotnetinstalled=true else @@ -362,7 +378,7 @@ if [ -n "${distrosupport}" ]; then fi # These titles are only supported up to Ubuntu 22.04 (Jammy) and Debian 12 (Bookworm). -if { [ "${distroid}" == "ubuntu" ] && dpkg --compare-versions "${distroversion}" "gt" "22.04"; } || { [ "${distroidlike}" == "debian" ] && dpkg --compare-versions "${distroversion}" "gt" "12"; }; then +if { [ "${distroid}" == "ubuntu" ] && dpkg --compare-versions "${distroversion}" "gt" "22.04"; } || { [ "${distroid}" == "debian" ] && dpkg --compare-versions "${distroversion}" "gt" "12"; }; then if [ "${shortname}" == "bf1942" ] || [ "${shortname}" == "bfv" ]; then fn_print_failure_nl "${gamename} is not supported on ${distroname} (requires Ubuntu <= 22.04 or Debian <= 12)." fn_script_log_fail "${gamename} is not supported on ${distroname}." @@ -370,8 +386,8 @@ if { [ "${distroid}" == "ubuntu" ] && dpkg --compare-versions "${distroversion}" fi fi -# These titles are only supported up to Ubuntu 20.04 and Debian 11 (and Debian-like derivatives). -if { [ "${distroid}" == "ubuntu" ] && dpkg --compare-versions "${distroversion}" "gt" "20.04"; } || { [ "${distroidlike}" == "debian" ] && dpkg --compare-versions "${distroversion}" "gt" "11"; }; then +# These titles are only supported up to Ubuntu 20.04 and Debian 11. +if { [ "${distroid}" == "ubuntu" ] && dpkg --compare-versions "${distroversion}" "gt" "20.04"; } || { [ "${distroid}" == "debian" ] && dpkg --compare-versions "${distroversion}" "gt" "11"; }; then if [ "${shortname}" == "onset" ] || [ "${shortname}" == "btl" ]; then fn_print_failure_nl "${gamename} is not supported on ${distroname} (requires Ubuntu <= 20.04 or Debian <= 11)." fn_script_log_fail "${gamename} is not supported on ${distroname}." @@ -379,6 +395,15 @@ if { [ "${distroid}" == "ubuntu" ] && dpkg --compare-versions "${distroversion}" fi fi +# Vintage Story tracks newer .NET runtimes; older distro releases may not ship required packages. +if [ "${shortname}" == "vints" ]; then + if { [ "${distroid}" == "ubuntu" ] && dpkg --compare-versions "${distroversion}" "lt" "24.04"; } || { [ "${distroid}" == "debian" ] && dpkg --compare-versions "${distroversion}" "lt" "12"; } || [ "${distroid}" == "centos" ] || [ "${distroid}" == "rhel" ] || [ "${distroid}" == "rocky" ] || [ "${distroid}" == "almalinux" ]; then + fn_print_warning_nl "${gamename} may require newer .NET runtimes than ${distroname} provides." + echo -e "If startup fails due to missing .NET runtime, upgrading to Ubuntu 24.04+ or Debian 12+ is recommended." + fn_script_log_warn "${gamename} may require newer .NET runtimes than ${distroname} provides." + fi +fi + if [ ! -f "${tmpdir}/dependency-no-check.tmp" ] && [ ! -f "${datadir}/${distroid}-${distroversioncsv}.csv" ]; then # Check that the distro dependency csv file exists. fn_check_file_github "lgsm/data" "${distroid}-${distroversioncsv}.csv" diff --git a/lgsm/modules/check_gamedig.sh b/lgsm/modules/check_gamedig.sh index 0942ac42a..72d3700fe 100755 --- a/lgsm/modules/check_gamedig.sh +++ b/lgsm/modules/check_gamedig.sh @@ -3,7 +3,7 @@ # Author: Daniel Gibbs # Contributors: https://linuxgsm.com/contrib # Website: https://linuxgsm.com -# Description: Installs nodejs and gamedig +# Description: Installs Node.js and gamedig moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" @@ -18,4 +18,6 @@ elif [ "$(command -v node)" ] && [ "$(command -v npm)" ] && [ "$(node -v | cut - cd "${lgsmdir}" || exit curl -s -L -o package.json "https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/package.json" npm update > /dev/null 2>&1 +else + fn_script_log_info "Install Node.js and NPM to enable Gamedig" fi diff --git a/lgsm/modules/check_permissions.sh b/lgsm/modules/check_permissions.sh index 73fba983d..3dc521da7 100755 --- a/lgsm/modules/check_permissions.sh +++ b/lgsm/modules/check_permissions.sh @@ -24,7 +24,7 @@ fn_check_ownership() { fi fi if [ -d "${serverfiles}" ]; then - if [ "$(find "${serverfiles}" -not -name '*.swp' -not -user "$(whoami)" | wc -l)" -ne "0" ]; then + if [ "$(find "${serverfiles}" -not -path "*/steamapps/compatdata/*" -not -name '*.swp' -not -user "$(whoami)" | wc -l)" -ne "0" ]; then filesownissue=1 fi fi @@ -42,7 +42,7 @@ fn_check_ownership() { find "${lgsmdir}" -not -user "$(whoami)" -printf "%u\t%g\t%p\n" fi if [ "${filesownissue}" == "1" ]; then - find "${serverfiles}" -not -user "$(whoami)" -printf "%u\t%g\t%p\n" + find "${serverfiles}" -not -path "*/steamapps/compatdata/*" -not -user "$(whoami)" -printf "%u\t%g\t%p\n" fi } | column -s $'\t' -t | tee -a "${lgsmlog}" diff --git a/lgsm/modules/check_players_online.sh b/lgsm/modules/check_players_online.sh new file mode 100755 index 000000000..b38de1f70 --- /dev/null +++ b/lgsm/modules/check_players_online.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# LinuxGSM check_players_online.sh module +# Author: Daniel Gibbs +# Contributors: https://linuxgsm.com/contrib +# Website: https://linuxgsm.com +# Description: Queries the server with gamedig and sets ${playersonline} to the +# current player count when players are connected (empty otherwise). +# Used by the stoponlyifnoplayers feature to postpone stop/restart. + +moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" + +playersonline="" +if [ "${stoponlyifnoplayers}" == "on" ]; then + if [ "${querymode}" == "2" ] || [ "${querymode}" == "3" ]; then + querysucceeded="0" + for queryip in "${queryips[@]}"; do + query_gamedig.sh + if [ "${querystatus}" == "0" ]; then + querysucceeded="1" + if [ -n "${gdplayers}" ] && [ "${gdplayers}" -ne 0 ]; then + playersonline="${gdplayers}" + break + fi + fi + done + # The query failed for every configured IP, so the player count could not be + # determined. Fail open (proceed as if empty) rather than block the server + # indefinitely, but warn clearly since the safety check did not actually run. + if [ "${querysucceeded}" == "0" ]; then + fn_print_warn_nl "Unable to determine player count: stoponlyifnoplayers check skipped" + fn_script_log_warn "Unable to determine player count via gamedig: stoponlyifnoplayers check skipped" + fi + fi +fi diff --git a/lgsm/modules/check_status.sh b/lgsm/modules/check_status.sh index e017b89ec..98d2a3772 100755 --- a/lgsm/modules/check_status.sh +++ b/lgsm/modules/check_status.sh @@ -7,4 +7,4 @@ moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -status=$(tmux -L "${socketname}" list-sessions -F "#{session_name}" 2> /dev/null | grep -Ecx "^${sessionname}") +status=$(TERM=screen tmux -L "${socketname}" list-sessions -F "#{session_name}" 2> /dev/null | grep -Ecx "^${sessionname}") diff --git a/lgsm/modules/command_check_update.sh b/lgsm/modules/command_check_update.sh index 6e429512a..93a770e79 100755 --- a/lgsm/modules/command_check_update.sh +++ b/lgsm/modules/command_check_update.sh @@ -30,6 +30,8 @@ elif [ "${shortname}" == "jk2" ]; then update_jk2.sh elif [ "${shortname}" == "vints" ]; then update_vints.sh +elif [ "${shortname}" == "bb" ]; then + update_bb.sh elif [ "${shortname}" == "ut99" ]; then update_ut99.sh elif [ "${shortname}" == "xnt" ]; then diff --git a/lgsm/modules/command_monitor.sh b/lgsm/modules/command_monitor.sh index 7c813aed7..0a80fcbf7 100755 --- a/lgsm/modules/command_monitor.sh +++ b/lgsm/modules/command_monitor.sh @@ -109,6 +109,26 @@ fn_monitor_check_stopping() { fi } +fn_monitor_check_restart_request() { + if [ -f "${lockdir}/${selfname}-restart-request.lock" ]; then + fn_print_dots "Checking restart: " + fn_print_checking_eol + fn_print_info "Checking restart: Restart requested: " + fn_print_info_eol_nl + fn_script_log_info "Checking restart: Restart requested" + check_players_online.sh + if [ -n "${playersonline}" ]; then + fn_print_info_nl "${playersonline} players are on the server: restart postponed" + fn_script_log_info "${playersonline} players are on the server: restart postponed" + echo "${playersonline}" > "${lockdir:?}/${selfname}-player-numbers.lock" + date '+%s' > "${lockdir:?}/${selfname}-restart-request.lock" + core_exit.sh + fi + command_restart.sh + core_exit.sh + fi +} + fn_monitor_check_backup() { # Remove stale lockfile. if [ -f "${lockdir}/backup.lock" ]; then @@ -405,6 +425,7 @@ fn_monitor_check_monitoring fn_monitor_check_starting fn_monitor_check_stopping fn_monitor_check_session +fn_monitor_check_restart_request # Monitor will not continue if session only check. if [ "${querymode}" != "1" ]; then @@ -417,4 +438,5 @@ if [ "${querymode}" != "1" ]; then fn_monitor_loop fi + core_exit.sh diff --git a/lgsm/modules/command_restart.sh b/lgsm/modules/command_restart.sh index 0a7f9b5f0..245c0d52d 100755 --- a/lgsm/modules/command_restart.sh +++ b/lgsm/modules/command_restart.sh @@ -12,6 +12,17 @@ fn_firstcommand_set check.sh info_game.sh +check_players_online.sh +if [ -n "${playersonline}" ]; then + fn_print_info_nl "${playersonline} players are on the server: restart postponed" + fn_script_log_info "${playersonline} players are on the server: restart postponed" + echo "${playersonline}" > "${lockdir:?}/${selfname}-player-numbers.lock" + date '+%s' > "${lockdir:?}/${selfname}-restart-request.lock" + core_exit.sh +fi +# Clear any pending restart request now that the restart is actually proceeding, +# so a stale lock doesn't trigger a repeat restart on the next monitor run. +rm -f "${lockdir:?}/${selfname}-restart-request.lock" exitbypass=1 command_stop.sh command_start.sh diff --git a/lgsm/modules/command_send.sh b/lgsm/modules/command_send.sh index 20ef188e3..8b8a1a252 100755 --- a/lgsm/modules/command_send.sh +++ b/lgsm/modules/command_send.sh @@ -27,7 +27,7 @@ if [ "${status}" != "0" ]; then echo "" fn_print_dots "Sending command to console: \"${commandtosend}\"" fn_print_ok_nl "Sending command to console: \"${commandtosend}\"" - tmux -L "${socketname}" send-keys -t "${sessionname}" "${commandtosend}" ENTER + TERM=screen tmux -L "${socketname}" send-keys -t "${sessionname}" "${commandtosend}" ENTER fn_script_log_pass "Command \"${commandtosend}\" sent to console" else fn_print_error_nl "Unable to send command to console. Server not running" diff --git a/lgsm/modules/command_start.sh b/lgsm/modules/command_start.sh index a4e07b44b..43b7a3858 100755 --- a/lgsm/modules/command_start.sh +++ b/lgsm/modules/command_start.sh @@ -15,7 +15,7 @@ fn_firstcommand_set # Used to allow update to detect JK2MV server version. fn_start_jk2() { fn_start_tmux - tmux -L "${socketname}" end -t "${sessionname}" version ENTER > /dev/null 2>&1 + TERM=screen tmux -L "${socketname}" end -t "${sessionname}" version ENTER > /dev/null 2>&1 } fn_start_tmux() { @@ -67,7 +67,7 @@ fn_start_tmux() { cd "${executabledir}" || exit fi - tmux -L "${socketname}" new-session -d -x "${sessionwidth}" -y "${sessionheight}" -s "${sessionname}" "${preexecutable} ${executable} ${startparameters}" 2> "${lgsmlogdir}/.${selfname}-tmux-error.tmp" + TERM=screen tmux -L "${socketname}" new-session -d -x "${sessionwidth}" -y "${sessionheight}" -s "${sessionname}" "${preexecutable} ${executable} ${startparameters}" 2> "${lgsmlogdir}/.${selfname}-tmux-error.tmp" # Create logfile. touch "${consolelog}" @@ -82,9 +82,9 @@ fn_start_tmux() { if [ "${consolelogging}" == "on" ] || [ -z "${consolelogging}" ]; then # timestamp will break mcb update check. if [ "${logtimestamp}" == "on" ] && [ "${shortname}" != "mcb" ]; then - tmux -L "${socketname}" pipe-pane -o -t "${sessionname}" "exec bash -c \"cat | $addtimestamp\" >> '${consolelog}'" + TERM=screen tmux -L "${socketname}" pipe-pane -o -t "${sessionname}" "exec bash -c \"cat | $addtimestamp\" >> '${consolelog}'" else - tmux -L "${socketname}" pipe-pane -o -t "${sessionname}" "exec cat >> '${consolelog}'" + TERM=screen tmux -L "${socketname}" pipe-pane -o -t "${sessionname}" "exec cat >> '${consolelog}'" fi else echo -e "Console logging disabled in settings" >> "${consolelog}" diff --git a/lgsm/modules/command_stop.sh b/lgsm/modules/command_stop.sh index ab827314d..7bc408065 100755 --- a/lgsm/modules/command_stop.sh +++ b/lgsm/modules/command_stop.sh @@ -10,12 +10,28 @@ commandaction="Stopping" moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" fn_firstcommand_set +# Only stop the server if there are no players online. +# An explicit stop or restart always respects players when the feature is on. +# Other commands that stop the server as a side effect (e.g. update) only respect +# players when stoponlyifnoplayersallcommands is on. +fn_stop_players_online() { + if [ "${firstcommandname}" == "STOP" ] || [ "${firstcommandname}" == "RESTART" ] || [ "${stoponlyifnoplayersallcommands}" == "on" ]; then + check_players_online.sh + if [ -n "${playersonline}" ]; then + fn_print_info_nl "${playersonline} players are on the server: stop prevented" + fn_script_log_info "${playersonline} players are on the server: stop prevented" + echo "${playersonline}" > "${lockdir:?}/${selfname}-player-numbers.lock" + core_exit.sh + fi + fi +} + # Attempts graceful shutdown by sending 'CTRL+c'. fn_stop_graceful_ctrlc() { fn_print_dots "Graceful: CTRL+c" fn_script_log_info "Graceful: CTRL+c" # Sends CTRL+c. - tmux -L "${socketname}" send-keys -t "${sessionname}" C-c > /dev/null 2>&1 + TERM=screen tmux -L "${socketname}" send-keys -t "${sessionname}" C-c > /dev/null 2>&1 # Waits up to 30 seconds giving the server time to shutdown gracefully. for seconds in {1..30}; do check_status.sh @@ -47,7 +63,7 @@ fn_stop_graceful_cmd() { fn_print_dots "Graceful: sending \"${1}\"" fn_script_log_info "Graceful: sending \"${1}\"" # Sends specific stop command. - tmux -L "${socketname}" send -t "${sessionname}" ENTER "${1}" ENTER > /dev/null 2>&1 + TERM=screen tmux -L "${socketname}" send -t "${sessionname}" ENTER "${1}" ENTER > /dev/null 2>&1 # Waits up to ${seconds} seconds giving the server time to shutdown gracefully. for ((seconds = 1; seconds <= ${2}; seconds++)); do check_status.sh @@ -79,7 +95,7 @@ fn_stop_graceful_goldsrc() { fn_print_dots "Graceful: sending \"quit\"" fn_script_log_info "Graceful: sending \"quit\"" # sends quit - tmux -L "${socketname}" send -t "${sessionname}" quit ENTER > /dev/null 2>&1 + TERM=screen tmux -L "${socketname}" send -t "${sessionname}" quit ENTER > /dev/null 2>&1 # Waits 3 seconds as goldsrc servers restart with the quit command. for seconds in {1..3}; do fn_sleep_time_1 @@ -289,10 +305,10 @@ fn_stop_graceful_avorion() { fn_print_dots "Graceful: /save /stop" fn_script_log_info "Graceful: /save /stop" # Sends /save. - tmux -L "${socketname}" send-keys -t "${sessionname}" /save ENTER > /dev/null 2>&1 + TERM=screen tmux -L "${socketname}" send-keys -t "${sessionname}" /save ENTER > /dev/null 2>&1 fn_sleep_time_5 # Sends /quit. - tmux -L "${socketname}" send-keys -t "${sessionname}" /stop ENTER > /dev/null 2>&1 + TERM=screen tmux -L "${socketname}" send-keys -t "${sessionname}" /stop ENTER > /dev/null 2>&1 # Waits up to 30 seconds giving the server time to shutdown gracefully. for seconds in {1..30}; do check_status.sh @@ -351,7 +367,7 @@ fn_stop_tmux() { fn_print_dots "${servername}" fn_script_log_info "tmux kill-session: ${sessionname}: ${servername}" # Kill tmux session. - tmux -L "${socketname}" kill-session -t "${sessionname}" > /dev/null 2>&1 + TERM=screen tmux -L "${socketname}" kill-session -t "${sessionname}" > /dev/null 2>&1 fn_sleep_time_1 check_status.sh if [ "${status}" == "0" ]; then @@ -373,6 +389,7 @@ fn_stop_pre_check() { fn_print_skip_nl "${servername} is already stopped" fn_script_log_info "${servername} is already stopped" else + fn_stop_players_online # Select graceful shutdown. fn_stop_graceful_select # Check status again, a kill tmux session if graceful shutdown failed. diff --git a/lgsm/modules/command_update.sh b/lgsm/modules/command_update.sh index 996d402a4..a7cfc1b12 100755 --- a/lgsm/modules/command_update.sh +++ b/lgsm/modules/command_update.sh @@ -31,6 +31,8 @@ elif [ "${shortname}" == "jk2" ]; then update_jk2.sh elif [ "${shortname}" == "vints" ]; then update_vints.sh +elif [ "${shortname}" == "bb" ]; then + update_bb.sh elif [ "${shortname}" == "ut99" ]; then update_ut99.sh elif [ "${shortname}" == "xnt" ]; then diff --git a/lgsm/modules/command_update_linuxgsm.sh b/lgsm/modules/command_update_linuxgsm.sh index 3fd4cc681..80ff74cfb 100755 --- a/lgsm/modules/command_update_linuxgsm.sh +++ b/lgsm/modules/command_update_linuxgsm.sh @@ -188,7 +188,7 @@ if [ -f "${datadir}/${distroid}-${distroversioncsv}.csv" ]; then fn_print_update_eol_nl fn_script_log "Checking ${remotereponame} ${distroid}-${distroversioncsv}.csv" rm -f "${datadir:?}/${distroid}-${distroversioncsv}.csv" - fn_fetch_file_github "${datadir}" "${distroid}-${distroversioncsv}.csv" "${datadir}" "nochmodx" "norun" "noforce" "nohash" + fn_fetch_file_github "lgsm/data" "${distroid}-${distroversioncsv}.csv" "${datadir}" "nochmodx" "norun" "noforce" "nohash" else fn_print_skip_eol_nl fn_script_log_pass "Checking ${remotereponame} ${distroid}-${distroversioncsv}.csv" diff --git a/lgsm/modules/core_dl.sh b/lgsm/modules/core_dl.sh index 4730c0cff..c3194a915 100755 --- a/lgsm/modules/core_dl.sh +++ b/lgsm/modules/core_dl.sh @@ -139,6 +139,12 @@ fn_dl_steamcmd() { fn_print_failure_nl "${commandaction} ${selfname}: ${remotelocation}: Not enough disk space to download server files" fn_script_log_fail "${commandaction} ${selfname}: ${remotelocation}: Not enough disk space to download server files" core_exit.sh + # Invalid platform for app/update request. + elif [ -n "$(grep -i "Invalid platform" "${steamcmdlog}" | tail -1)" ]; then + fn_print_failure_nl "${commandaction} ${selfname}: ${remotelocation}: Invalid platform for AppID ${appid}" + fn_print_nl "Check steamcmdforcewindows setting and system architecture (x86_64 required for most servers)" + fn_script_log_fail "${commandaction} ${selfname}: ${remotelocation}: Invalid platform for AppID ${appid}" + core_exit.sh # Need tp purchase game. elif [ -n "$(grep "No subscription" "${steamcmdlog}" | tail -1)" ]; then fn_print_failure_nl "${commandaction} ${selfname}: ${remotelocation}: Steam account does not have a license for the required game" diff --git a/lgsm/modules/core_modules.sh b/lgsm/modules/core_modules.sh index 10d408449..9d72f5ce7 100755 --- a/lgsm/modules/core_modules.sh +++ b/lgsm/modules/core_modules.sh @@ -8,7 +8,7 @@ moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" -modulesversion="v26.1.0" +modulesversion="v26.2.0" # Core @@ -233,6 +233,11 @@ check_permissions.sh() { fn_fetch_module } +check_players_online.sh() { + modulefile="${FUNCNAME[0]}" + fn_fetch_module +} + check_root.sh() { modulefile="${FUNCNAME[0]}" fn_fetch_module @@ -590,6 +595,11 @@ alert_ifttt.sh() { fn_fetch_module } +alert_matrix.sh() { + modulefile="${FUNCNAME[0]}" + fn_fetch_module +} + alert_ntfy.sh() { modulefile="${FUNCNAME[0]}" fn_fetch_module @@ -710,6 +720,11 @@ update_ut99.sh() { fn_fetch_module } +update_bb.sh() { + modulefile="${FUNCNAME[0]}" + fn_fetch_module +} + update_vints.sh() { modulefile="${FUNCNAME[0]}" fn_fetch_module diff --git a/lgsm/modules/core_steamcmd.sh b/lgsm/modules/core_steamcmd.sh index d265f577d..463a1f7da 100755 --- a/lgsm/modules/core_steamcmd.sh +++ b/lgsm/modules/core_steamcmd.sh @@ -427,4 +427,21 @@ fn_check_steamcmd_appmanifest() { fn_dl_steamcmd fi fi + + # GoldSrc can occasionally report success while core HL1 files are incomplete. + if [ "${engine}" == "goldsrc" ]; then + if [ ! -f "${serverfiles}/hlds_run" ] || [ ! -f "${serverfiles}/engine_i486.so" ] || [ ! -d "${serverfiles}/valve" ]; then + fn_print_error_nl "Core HL1 files missing after GoldSrc update" + fn_script_log_error "Core HL1 files missing after GoldSrc update" + fn_print_info_nl "Forcing update to correct issue" + fn_script_log_info "Forcing update to correct issue" + fn_dl_steamcmd + + if [ ! -f "${serverfiles}/hlds_run" ] || [ ! -f "${serverfiles}/engine_i486.so" ] || [ ! -d "${serverfiles}/valve" ]; then + fn_print_fail_nl "Core HL1 files are still missing after retry" + fn_script_log_fail "Core HL1 files are still missing after retry" + core_exit.sh + fi + fi + fi } diff --git a/lgsm/modules/fix_steamcmd.sh b/lgsm/modules/fix_steamcmd.sh index 0ba5c85b2..36bc378ac 100755 --- a/lgsm/modules/fix_steamcmd.sh +++ b/lgsm/modules/fix_steamcmd.sh @@ -113,6 +113,31 @@ if [ ! -f "${steamclientsdk32}" ]; then fn_fix_msg_end fi +# Helps fix: WARNING: Failed to load 32-bit libtinfo.so.5 or libncurses.so.5. +# On distros that ship libtinfo.so.6 (e.g. Ubuntu 22.04+, Debian 12+) but not +# libtinfo.so.5, SteamCMD prints this warning and loses readline support. +# Creating a symlink from .so.5 -> .so.6 resolves the warning without root. +for libtinfo32dir in "${HOME}/.steam/steamcmd" "${steamcmddir}" "${HOME}/.local/share/Steam/steamcmd"; do + if [ -d "${libtinfo32dir}" ]; then + libtinfo32so="${libtinfo32dir}/libtinfo.so.5" + # Also repair broken symlinks (! -e catches missing target, -L catches dangling link) + if [ ! -e "${libtinfo32so}" ]; then + # Find the .so.6 in the system 32-bit lib paths + for libtinfo32so6 in /lib/i386-linux-gnu/libtinfo.so.6 /usr/lib/i386-linux-gnu/libtinfo.so.6 /lib32/libtinfo.so.6; do + if [ -f "${libtinfo32so6}" ]; then + fixname="libtinfo.so.5 32-bit symlink" + fn_fix_msg_start + mkdir -p "${libtinfo32dir}" + ln -sf "${libtinfo32so6}" "${libtinfo32so}" + exitcode=$? + fn_fix_msg_end + break + fi + done + fi + fi +done + # steamclient.so fixes if [ "${shortname}" == "bo" ]; then fn_fix_steamclient_so "32" "${serverfiles}/BODS_Data/Plugins/x86" diff --git a/lgsm/modules/fix_vh.sh b/lgsm/modules/fix_vh.sh index c6564eb19..600988be6 100755 --- a/lgsm/modules/fix_vh.sh +++ b/lgsm/modules/fix_vh.sh @@ -29,12 +29,11 @@ if [ -f "${modsinstalledlistfullpath}" ]; then fn_print_info_nl "BepInEx install detected, applying start exports" fn_script_log_info "BepInEx install detected, applying start exports" # exports for BepInEx framework from script start_server_bepinex.sh - export DOORSTOP_ENABLE=TRUE - export DOORSTOP_INVOKE_DLL_PATH=./BepInEx/core/BepInEx.Preloader.dll - export DOORSTOP_CORLIB_OVERRIDE_PATH=./unstripped_corlib + export DOORSTOP_ENABLED=1 + export DOORSTOP_TARGET_ASSEMBLY=./BepInEx/core/BepInEx.Preloader.dll export LD_LIBRARY_PATH="./doorstop_libs:${LD_LIBRARY_PATH}" - export LD_PRELOAD="libdoorstop_x64.so:${LD_PRELOAD}" + preexecutable="LD_PRELOAD=\"libdoorstop_x64.so:${LD_PRELOAD}\" ${preexecutable}" export SteamAppId=892970 fi diff --git a/lgsm/modules/info_distro.sh b/lgsm/modules/info_distro.sh index 1d74ac635..4ece95e4d 100755 --- a/lgsm/modules/info_distro.sh +++ b/lgsm/modules/info_distro.sh @@ -11,7 +11,7 @@ moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" ### Game Server pid if [ "${status}" == "1" ]; then - gameserverpid="$(tmux -L "${socketname}" list-sessions -F "#{session_name} #{pane_pid}" | grep "^${sessionname} " | awk '{print $NF}')" + gameserverpid="$(TERM=screen tmux -L "${socketname}" list-sessions -F "#{session_name} #{pane_pid}" | grep "^${sessionname} " | awk '{print $NF}')" if [ "${engine}" == "source" ]; then srcdslinuxpid="$(pgrep -P "${gameserverpid}" -x srcds_linux 2> /dev/null | head -n 1)" elif [ "${engine}" == "goldsrc" ]; then diff --git a/lgsm/modules/install_config.sh b/lgsm/modules/install_config.sh index 4b8148ce9..e25b8de5c 100755 --- a/lgsm/modules/install_config.sh +++ b/lgsm/modules/install_config.sh @@ -530,6 +530,9 @@ elif [ "${shortname}" == "ios" ]; then fn_default_config_remote fn_set_config_vars fn_list_config_locations +elif [ "${shortname}" == "jbep3" ]; then + fn_default_config_local + fn_list_config_locations elif [ "${shortname}" == "jc2" ]; then array_configs+=(config.lua) fn_default_config_remote @@ -565,6 +568,11 @@ elif [ "${shortname}" == "mcb" ]; then fn_default_config_remote fn_set_config_vars fn_list_config_locations +elif [ "${shortname}" == "mcv" ]; then + array_configs+=(server.cfg) + fn_default_config_remote + fn_set_config_vars + fn_list_config_locations elif [ "${shortname}" == "mohaa" ]; then array_configs+=(server.cfg) fn_default_config_remote diff --git a/lgsm/modules/install_server_files.sh b/lgsm/modules/install_server_files.sh index 8a993b45c..e5f10739d 100755 --- a/lgsm/modules/install_server_files.sh +++ b/lgsm/modules/install_server_files.sh @@ -32,14 +32,7 @@ fn_install_server_files() { run="norun" force="noforce" md5="e3b4962cdd9d41e23c6fed65101bccde" - elif [ "${shortname}" == "bb" ]; then - remote_fileurl="http://linuxgsm.download/BrainBread/brainbread-v1.2-linuxserver.tar.xz" - local_filedir="${tmpdir}" - local_filename="brainbread-v1.2-linuxserver.tar.xz" - chmodx="nochmodx" - run="norun" - force="noforce" - md5="55f227183b736397806d5b6db6143f15" + elif [ "${shortname}" == "cod" ]; then remote_fileurl="http://linuxgsm.download/CallOfDuty/cod-lnxded-1.5b-full.tar.xz" local_filedir="${tmpdir}" @@ -267,6 +260,8 @@ elif [ "${shortname}" == "jk2" ]; then update_jk2.sh elif [ "${shortname}" == "vints" ]; then update_vints.sh +elif [ "${shortname}" == "bb" ]; then + update_bb.sh elif [ "${shortname}" == "ut99" ]; then fn_install_server_files update_ut99.sh @@ -274,7 +269,7 @@ elif [ "${shortname}" == "xnt" ]; then update_xnt.sh elif [ "${shortname}" == "etl" ]; then update_etl.sh -elif [ -z "${appid}" ] || [ "${shortname}" == "ahl" ] || [ "${shortname}" == "bb" ] || [ "${shortname}" == "q4" ] || [ "${shortname}" == "ns" ] || [ "${shortname}" == "sfc" ] || [ "${shortname}" == "ts" ] || [ "${shortname}" == "vs" ] || [ "${shortname}" == "zmr" ]; then +elif [ -z "${appid}" ] || [ "${shortname}" == "ahl" ] || [ "${shortname}" == "q4" ] || [ "${shortname}" == "ns" ] || [ "${shortname}" == "sfc" ] || [ "${shortname}" == "ts" ] || [ "${shortname}" == "vs" ] || [ "${shortname}" == "zmr" ]; then if [ "${shortname}" == "ut" ]; then install_eula.sh fi diff --git a/lgsm/modules/mods_core.sh b/lgsm/modules/mods_core.sh index bed0f9f49..3a14fcb84 100755 --- a/lgsm/modules/mods_core.sh +++ b/lgsm/modules/mods_core.sh @@ -29,6 +29,15 @@ fn_mod_install_files() { mkdir -p "${extractdest}" fi fn_dl_extract "${modstmpdir}" "${modfilename}" "${extractdest}" + # If modsubdirs names a specific subfolder, use its contents as the install root. + if [ "${modsubdirs}" != "0" ] && [ -d "${extractdest}/${modsubdirs}" ]; then + local tmpsubdir + tmpsubdir=$(mktemp -d) + mv "${extractdest}/${modsubdirs}" "${tmpsubdir}/" + rm -rf "${extractdest}" + mv "${tmpsubdir}/${modsubdirs}" "${extractdest}" + rm -rf "${tmpsubdir}" + fi } # Convert mod files to lowercase if needed. diff --git a/lgsm/modules/mods_list.sh b/lgsm/modules/mods_list.sh index b3f9877f1..39eca5e42 100755 --- a/lgsm/modules/mods_list.sh +++ b/lgsm/modules/mods_list.sh @@ -19,40 +19,40 @@ metamodlatestfile="metamod-${metamodversion}.zip" metamoddownloadurl="https://www.amxmodx.org/release/${metamodlatestfile}" metamodurl="${metamoddownloadurl}" # AMX Mod X: Base -amxxbaseversion="1.8.2" +amxxbaseversion="1.9.0-git5303" amxxbasemod="base" amxxbaselatestfile="amxmodx-${amxxbaseversion}-${amxxbasemod}-linux.tar.gz" -amxxbasedownloadurl="https://www.amxmodx.org/release/${amxxbaselatestfile}" +amxxbasedownloadurl="https://github.com/alliedmodders/amxmodx/releases/download/1.9.0.5303/${amxxbaselatestfile}" amxxbaseurl="${amxxbasedownloadurl}" # AMX Mod X: Counter-Strike -amxxcsversion="1.8.2" +amxxcsversion="1.9.0-git5303" amxxcsmod="cstrike" amxxcslatestfile="amxmodx-${amxxbaseversion}-${amxxcsmod}-linux.tar.gz" -amxxcsdownloadurl="https://www.amxmodx.org/release/${amxxcslatestfile}" +amxxcsdownloadurl="https://github.com/alliedmodders/amxmodx/releases/download/1.9.0.5303/${amxxcslatestfile}" amxxcsurl="${amxxcsdownloadurl}" # AMX Mod X: Day of Defeat -amxxdodversion="1.8.2" +amxxdodversion="1.9.0-git5303" amxxdodmod="dod" amxxdodlatestfile="amxmodx-${amxxdodversion}-${amxxdodmod}-linux.tar.gz" -amxxdoddownloadurl="https://www.amxmodx.org/release/${amxxdodlatestfile}" +amxxdoddownloadurl="https://github.com/alliedmodders/amxmodx/releases/download/1.9.0.5303/${amxxdodlatestfile}" amxxdodurl="${amxxdoddownloadurl}" # AMX Mod X: Team Fortress Classic -amxxtfcversion="1.8.2" +amxxtfcversion="1.9.0-git5303" amxxtfcmod="tfc" amxxtfclatestfile="amxmodx-${amxxtfcversion}-${amxxtfcmod}-linux.tar.gz" -amxxtfcdownloadurl="https://www.amxmodx.org/release/${amxxtfclatestfile}" +amxxtfcdownloadurl="https://github.com/alliedmodders/amxmodx/releases/download/1.9.0.5303/${amxxtfclatestfile}" amxxtfcurl="${amxxtfcdownloadurl}" # AMX Mod X: Natural Selection -amxxnsversion="1.8.2" +amxxnsversion="1.9.0-git5303" amxxnsmod="ns" amxxnslatestfile="amxmodx-${amxxnsversion}-${amxxnsmod}-linux.tar.gz" -amxxnsdownloadurl="https://www.amxmodx.org/release/${amxxnslatestfile}" +amxxnsdownloadurl="https://github.com/alliedmodders/amxmodx/releases/download/1.9.0.5303/${amxxnslatestfile}" amxxnsurl="${amxxnsdownloadurl}" # AMX Mod X: The Specialists -amxxtsversion="1.8.2" +amxxtsversion="1.9.0-git5303" amxxtsmod="ts" amxxtslatestfile="amxmodx-${amxxtsversion}-${amxxtsmod}-linux.tar.gz" -amxxtsdownloadurl="https://www.amxmodx.org/release/${amxxtslatestfile}" +amxxtsdownloadurl="https://github.com/alliedmodders/amxmodx/releases/download/1.9.0.5303/${amxxtslatestfile}" amxxtsurl="${amxxtsdownloadurl}" # Metamod:Source metamodsourceversion="1.12" @@ -122,7 +122,7 @@ modseparator="MOD" # [2] | "Pretty Name": the common name people use to call the mod that will be displayed to the user # [3] | "URL": link to the mod archive file; can be a variable previously defined while scraping a URL # [4] | "filename": the output filename -# [5] | "modsubdirs": in how many subdirectories is the mod (none is 0) (not used at release, but could be in the future) +# [5] | "modsubdirs": name of a subfolder within the archive to extract as the install root (use "0" to extract all contents) # [6] | "LowercaseOn/Off": LowercaseOff or LowercaseOn: enable/disable converting extracted files and directories to lowercase (some games require it) # [7] | "modinstalldir": the directory in which to install the mode (use LGSM dir variables such as ${systemdir}) # [8] | "/files/to/keep;", files & directories that should not be overwritten upon update, separated and ended with a semicolon; you can also use "OVERWRITE" value to ignore the value or "NOUPDATE" to disallow updating; for files to keep upon uninstall, see fn_mod_tidy_files_list from mods_core.sh @@ -208,7 +208,7 @@ mod_info_sdtdoxide=(MOD "sdtdoxide" "Oxide for 7 Days To Die" "${oxidesdtdlatest mod_info_valheimplus=(MOD "valheimplus" "Valheim PLUS" "${valheimpluslatestlink}" "ValheimPlus.tar.gz" "0" "LowercaseOff" "${systemdir}" "OVERWRITE" "ENGINES" "Valheim;" "NOTGAMES" "https://github.com/Grantapher/ValheimPlus.git" "Mod to improve Valheim gameplay") # BepInEx Valheim -mod_info_bepinexvh=(MOD "bepinexvh" "BepInEx Valheim" "${bepinexvhlatestlink}" "denikson-BepInExPack_Valheim.zip" "0" "LowercaseOff" "${systemdir}" "OVERWRITE" "ENGINES" "Valheim;" "NOTGAMES" "https://valheim.thunderstore.io/package/denikson/BepInExPack_Valheim/" "Unity / XNA game patcher and plugin framework") +mod_info_bepinexvh=(MOD "bepinexvh" "BepInEx Valheim" "${bepinexvhlatestlink}" "denikson-BepInExPack_Valheim.zip" "BepInExPack_Valheim" "LowercaseOff" "${systemdir}" "OVERWRITE" "ENGINES" "Valheim;" "NOTGAMES" "https://valheim.thunderstore.io/package/denikson/BepInExPack_Valheim/" "Unity / XNA game patcher and plugin framework") # REQUIRED: Set all mods info into the global array mods_global_array=("${mod_info_metamod[@]}" "${mod_info_base_amxx[@]}" "${mod_info_cs_amxx[@]}" "${mod_info_dod_amxx[@]}" "${mod_info_tfc_amxx[@]}" "${mod_info_ns_amxx[@]}" "${mod_info_ts_amxx[@]}" "${mod_info_metamodsource[@]}" "${mod_info_sourcemod[@]}" "${mod_info_steamworks[@]}" "${mod_info_gokz[@]}" "${mod_info_ttt[@]}" "${mod_info_get5[@]}" "${mod_info_prac[@]}" "${mod_info_pug[@]}" "${mod_info_dhook[@]}" "${mod_info_movement[@]}" "${mod_info_cleaner[@]}" "${mod_info_ulib[@]}" "${mod_info_ulx[@]}" "${mod_info_utime[@]}" "${mod_info_uclip[@]}" "${mod_info_acf[@]}" "${mod_info_acf_missiles[@]}" "${mod_info_acf_sweps[@]}" "${mod_info_advdupe2[@]}" "${mod_info_pac3[@]}" "${mod_info_wiremod[@]}" "${mod_info_wiremodextras[@]}" "${mod_info_darkrp[@]}" "${mod_info_darkrpmodification[@]}" "${mod_info_rustcarbon[@]}" "${mod_info_rustoxide[@]}" "${mod_info_hwoxide[@]}" "${mod_info_sdtdoxide[@]}" "${mod_info_advduplicator[@]}" "${mod_info_trackassemblytool[@]}" "${mod_info_physpropertiesadv[@]}" "${mod_info_controlsystemse2[@]}" "${mod_info_e2pistontiming[@]}" "${mod_info_propcannontool[@]}" "${mod_info_gearassemblytool[@]}" "${mod_info_spinnertool[@]}" "${mod_info_surfacefrictiontool[@]}" "${mod_info_magneticdipole[@]}" "${mod_info_environmentorganizer[@]}" "${mod_info_precision_alignment[@]}" "${mod_info_improved_stacker[@]}" "${mod_info_improved_weight[@]}" "${mod_info_improved_antinoclip[@]}" "${mod_info_laserstool[@]}" "${mod_info_valheimplus[@]}" "${mod_info_bepinexvh[@]}") diff --git a/lgsm/modules/update_bb.sh b/lgsm/modules/update_bb.sh new file mode 100644 index 000000000..1f2f12ce8 --- /dev/null +++ b/lgsm/modules/update_bb.sh @@ -0,0 +1,175 @@ +#!/bin/bash +# LinuxGSM update_bb.sh module +# Author: Daniel Gibbs +# Contributors: https://linuxgsm.com/contrib +# Website: https://linuxgsm.com +# Description: Handles updating of BrainBread servers. + +moduleselfname="$(basename "$(readlink -f "${BASH_SOURCE[0]}")")" + +fn_update_dl() { + # Download and extract files to serverfiles. + fn_fetch_file "${remotebuildurl}" "" "" "" "${tmpdir}" "${remotebuildfilename}" "nochmodx" "norun" "force" "${remotebuildhash}" + fn_dl_extract "${tmpdir}" "${remotebuildfilename}" "${serverfiles}" + echo "${remotebuild}" > "${serverfiles}/build.txt" + fn_clear_tmp +} + +fn_update_localbuild() { + # Gets local build info. + fn_print_dots "Checking local build: ${remotelocation}" + # Uses build file to get local build. + localbuild=$(head -n 1 "${serverfiles}/build.txt" 2> /dev/null) + if [ -z "${localbuild}" ]; then + fn_print_error "Checking local build: ${remotelocation}: missing local build info" + fn_script_log_error "Missing local build info" + fn_script_log_error "Set localbuild to 0" + localbuild="0" + else + fn_print_ok "Checking local build: ${remotelocation}" + fn_script_log_pass "Checking local build" + fi +} + +fn_update_remotebuild() { + # Gets remote build info. + apiurl="https://api.github.com/repos/IronOak-Studios/BrainBread/releases/latest" + remotebuildresponse=$(curl -s "${apiurl}") + remotebuildfilename=$(echo "${remotebuildresponse}" | jq -r '.assets[] | select(.name | test("linuxserver\\.tar\\.gz$")) | .name' | head -n 1) + remotebuildurl=$(echo "${remotebuildresponse}" | jq -r '.assets[] | select(.name | test("linuxserver\\.tar\\.gz$")) | .browser_download_url' | head -n 1) + remotebuildhash=$(echo "${remotebuildresponse}" | jq -r '.assets[] | select(.name | test("linuxserver\\.tar\\.gz$")) | .digest' | sed 's/^sha256://g' | head -n 1) + remotebuild=$(echo "${remotebuildresponse}" | jq -r '.tag_name') + if [ -z "${remotebuildhash}" ] || [ "${remotebuildhash}" == "null" ]; then + remotebuildhash="nohash" + fi + + if [ "${firstcommandname}" != "INSTALL" ]; then + fn_print_dots "Checking remote build: ${remotelocation}" + # Checks if remotebuild variable has been set. + if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ] || [ -z "${remotebuildurl}" ] || [ "${remotebuildurl}" == "null" ] || [ -z "${remotebuildfilename}" ] || [ "${remotebuildfilename}" == "null" ]; then + fn_print_fail "Checking remote build: ${remotelocation}" + fn_script_log_fail "Checking remote build" + core_exit.sh + else + fn_print_ok "Checking remote build: ${remotelocation}" + fn_script_log_pass "Checking remote build" + fi + else + # Checks if remotebuild variable has been set. + if [ -z "${remotebuild}" ] || [ "${remotebuild}" == "null" ] || [ -z "${remotebuildurl}" ] || [ "${remotebuildurl}" == "null" ] || [ -z "${remotebuildfilename}" ] || [ "${remotebuildfilename}" == "null" ]; then + fn_print_failure "Unable to get remote build" + fn_script_log_fail "Unable to get remote build" + core_exit.sh + fi + fi +} + +fn_update_compare() { + fn_print_dots "Checking for update: ${remotelocation}" + # Update has been found or force update. + if [ "${localbuild}" != "${remotebuild}" ] || [ "${forceupdate}" == "1" ]; then + # Create update lockfile. + date '+%s' > "${lockdir:?}/update.lock" + fn_print_ok_nl "Checking for update: ${remotelocation}" + fn_print "\n" + fn_print_nl "${bold}${underline}Update${default} available" + fn_print_nl "* Local build: ${red}${localbuild}${default}" + fn_print_nl "* Remote build: ${green}${remotebuild}${default}" + if [ -n "${branch}" ]; then + fn_print_nl "* Branch: ${branch}" + fi + if [ -f "${rootdir}/.dev-debug" ]; then + fn_print_nl "Remote build info" + fn_print_nl "* apiurl: ${apiurl}" + fn_print_nl "* remotebuildfilename: ${remotebuildfilename}" + fn_print_nl "* remotebuildurl: ${remotebuildurl}" + fn_print_nl "* remotebuildhash: ${remotebuildhash}" + fn_print_nl "* remotebuild: ${remotebuild}" + fi + fn_print "\n" + fn_script_log_info "Update available" + fn_script_log_info "Local build: ${localbuild}" + fn_script_log_info "Remote build: ${remotebuild}" + if [ -n "${branch}" ]; then + fn_script_log_info "Branch: ${branch}" + fi + fn_script_log_info "${localbuild} > ${remotebuild}" + + if [ "${commandname}" == "UPDATE" ]; then + date +%s > "${lockdir:?}/last-updated.lock" + unset updateonstart + check_status.sh + # If server stopped. + if [ "${status}" == "0" ]; then + fn_update_dl + if [ "${localbuild}" == "0" ]; then + exitbypass=1 + command_start.sh + fn_firstcommand_reset + exitbypass=1 + fn_sleep_time_5 + command_stop.sh + fn_firstcommand_reset + fi + # If server started. + else + fn_print_restart_warning + exitbypass=1 + command_stop.sh + fn_firstcommand_reset + exitbypass=1 + fn_update_dl + exitbypass=1 + command_start.sh + fn_firstcommand_reset + fi + unset exitbypass + alert="update" + elif [ "${commandname}" == "CHECK-UPDATE" ]; then + alert="check-update" + fi + alert.sh + else + fn_print_ok_nl "Checking for update: ${remotelocation}" + fn_print "\n" + fn_print_nl "${bold}${underline}No update${default} available" + fn_print_nl "* Local build: ${green}${localbuild}${default}" + fn_print_nl "* Remote build: ${green}${remotebuild}${default}" + if [ -n "${branch}" ]; then + fn_print_nl "* Branch: ${branch}" + fi + fn_print "\n" + fn_script_log_info "No update available" + fn_script_log_info "Local build: ${localbuild}" + fn_script_log_info "Remote build: ${remotebuild}" + if [ -n "${branch}" ]; then + fn_script_log_info "Branch: ${branch}" + fi + if [ -f "${rootdir}/.dev-debug" ]; then + fn_print_nl "Remote build info" + fn_print_nl "* apiurl: ${apiurl}" + fn_print_nl "* remotebuildfilename: ${remotebuildfilename}" + fn_print_nl "* remotebuildurl: ${remotebuildurl}" + fn_print_nl "* remotebuildhash: ${remotebuildhash}" + fn_print_nl "* remotebuild: ${remotebuild}" + fi + fi +} + +# The location where the builds are checked and downloaded. +remotelocation="github.com" + +if [ "${firstcommandname}" == "INSTALL" ]; then + fn_update_remotebuild + fn_update_dl +else + # BrainBread requires both Steam app updates and GitHub package updates. + update_steamcmd.sh + + fn_print_dots "Checking for update" + fn_print_dots "Checking for update: ${remotelocation}" + fn_script_log_info "Checking for update: ${remotelocation}" + fn_update_localbuild + fn_update_remotebuild + fn_update_compare +fi diff --git a/lgsm/modules/update_xnt.sh b/lgsm/modules/update_xnt.sh index 904b7b1a4..e6f88cc27 100755 --- a/lgsm/modules/update_xnt.sh +++ b/lgsm/modules/update_xnt.sh @@ -20,7 +20,7 @@ fn_update_localbuild() { check_status.sh # Send version command to Xonotic server. if [ "${status}" != "0" ]; then - tmux -L "${socketname}" send-keys -t "${sessionname}" "version" C-m > /dev/null 2>&1 + TERM=screen tmux -L "${socketname}" send-keys -t "${sessionname}" "version" C-m > /dev/null 2>&1 fn_sleep_time_1 else exitbypass=1 @@ -28,7 +28,7 @@ fn_update_localbuild() { fn_firstcommand_reset exitbypass=1 fn_sleep_time_5 - tmux -L "${socketname}" send-keys -t "${sessionname}" "version" C-m > /dev/null 2>&1 + TERM=screen tmux -L "${socketname}" send-keys -t "${sessionname}" "version" C-m > /dev/null 2>&1 exitbypass=1 command_stop.sh unset exitbypass diff --git a/linuxgsm.sh b/linuxgsm.sh index f664749e6..9274a071b 100755 --- a/linuxgsm.sh +++ b/linuxgsm.sh @@ -24,7 +24,7 @@ if [ -f ".dev-debug" ]; then set -x fi -version="v26.1.0" +version="v26.2.0" shortname="core" gameservername="core" commandname="CORE"