[Feature]: Rebuild the server archives hosted on linuxgsm.download with clean ownership, permissions and contents

クローズ
#5,144 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

関連するプルリクエストがすでにマージされています。

  • #5146 @dgibbs64 による — マージ済み

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
34/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
bash, linux, shell
領域
devops, release

調査の方向性

Start by reading install_server_files.sh to identify the archive names and download URLs used by releases, then inspect the hosted archives for the listed games. Rebuild archives with unchanged game content and versions, the specified ownership, permissions, sorted entries and compression, and update the script to point to the new files. Done when the new archives meet those requirements and unused bucket files are removed while old release files remain hosted.

索引モデルが issue の本文から書いたものです。

説明

command: install distro: Ubuntu engine: goldsrc engine: source game: Action Half-Life game: Call of Duty game: Call of Duty 4 game: Call of Duty: United Offensive game: Medal of Honor: Allied Assault game: Quake 2 game: Return to Castle Wolfenstein game: The Specialists game: Unreal Tournament 2004 game: Unreal Tournament 3 game: Unreal Tournament 99 game: Vampire Slayer game: Zombie Master: Reborn priority: low scope: multiple games type: feature
Priority

priority: low

User story

As a server owner on a game installed from a linuxgsm.download archive, I want the archive to unpack with sane owners and permissions and without Windows files so that my install is tidy and predictable.

Game

Action Half-Life, Call of Duty, Call of Duty: United Offensive, Call of Duty 4, Counter-Strike: WON2, Half-Life: WON2, Medal of Honor: Allied Assault, Natural Selection, Quake 2, Return to Castle Wolfenstein, Source Forts Classic, The Specialists, Unreal Tournament 2004, Unreal Tournament 99, Unreal Tournament, Unreal Tournament 3, Vampire Slayer, Zombie Master: Reborn

Linux distro

Ubuntu 26.04

Command

command: install

Problem statement

An audit of the archives on linuxgsm.download (all except the PunkBuster games, which are handled separately) found:

  • Twelve archives are 0777 throughout. The MoHAA archive has 0700 directories and a mohaa_lnxded that is not executable.
  • Several archives are owned by uid 1000, so a root install keeps a stray owner.
  • Most archives ship Windows or macOS only files (.exe, .dll, .bat, .dylib, Thumbs.db, uninstaller data) and client-only content: Quake 2 renderers, UT3 Direct3D shader caches (about 250 MB), and MoHAA Windows client utilities and drivers.
  • File names do not follow one pattern, and the cod local_filename says 1.5 while the hosted file is 1.5b.
  • The libncurses5 library archive has its .so files at 0755 instead of 0644.
Scope and impact

scope: multiple games

Further information

Rebuild each archive with game content and version unchanged: owner 0/0, directories 0755, files 0644, executables 0755, sorted entries, xz -9e. Name them <shortname>-<gameversion>-linux-<arch>-linuxgsm-YYYYMMDD.tar.xz and point install_server_files.sh at the new files. Keep the old files hosted so older releases keep working, and delete bucket files that no release has ever used.

Alternatives considered

Leave the archives as they are. They work, but the permissions and leftover files cause confusion, and every install downloads files it never uses.

主要言語
Shell
スター
4.9k
フォーク
870
平均マージ
20時間 11分
マージ済み PR(30日)
135

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

GameServerManagers/LinuxGSM のほかの issue

GameServerManagers/LinuxGSM の issue をすべて見る

似ている issue

Shell/Bash の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。