{"id":13830067,"url":"https://github.com/FWGS/xash3d-fwgs","last_synced_at":"2025-07-09T10:32:29.210Z","repository":{"id":37847783,"uuid":"127814982","full_name":"FWGS/xash3d-fwgs","owner":"FWGS","description":"Xash3D FWGS engine","archived":false,"fork":false,"pushed_at":"2024-11-18T08:00:12.000Z","size":17043,"stargazers_count":1568,"open_issues_count":367,"forks_count":237,"subscribers_count":49,"default_branch":"master","last_synced_at":"2024-11-18T08:36:32.472Z","etag":null,"topics":["c-language","cross-platform","crossplatform","fwgs","game-engine","game-modding","goldsrc","goldsrc-engine","half-life","halflife","halflife-1","halflife1","modding-games","modding-tools","multiplayer-game-engine","pure-c","waf","xash3d","xash3d-engine","xash3d-fwgs"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FWGS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":"https://github.com/FWGS/xash3d-fwgs/blob/master/Documentation/donate.md"}},"created_at":"2018-04-02T21:33:02.000Z","updated_at":"2024-11-18T07:51:15.000Z","dependencies_parsed_at":"2023-10-20T19:55:36.825Z","dependency_job_id":"d1707fbc-0e72-49fe-b6df-b982bf35c46e","html_url":"https://github.com/FWGS/xash3d-fwgs","commit_stats":null,"previous_names":[],"tags_count":73,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FWGS%2Fxash3d-fwgs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FWGS%2Fxash3d-fwgs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FWGS%2Fxash3d-fwgs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FWGS%2Fxash3d-fwgs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FWGS","download_url":"https://codeload.github.com/FWGS/xash3d-fwgs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225533040,"owners_count":17484185,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-language","cross-platform","crossplatform","fwgs","game-engine","game-modding","goldsrc","goldsrc-engine","half-life","halflife","halflife-1","halflife1","modding-games","modding-tools","multiplayer-game-engine","pure-c","waf","xash3d","xash3d-engine","xash3d-fwgs"],"created_at":"2024-08-04T10:00:54.691Z","updated_at":"2025-07-09T10:32:29.197Z","avatar_url":"https://github.com/FWGS.png","language":"C","funding_links":["https://github.com/FWGS/xash3d-fwgs/blob/master/Documentation/donate.md"],"categories":["C","游戏","Index"],"sub_categories":["资源传输下载","Games"],"readme":"# Xash3D FWGS Engine \u003cimg align=\"right\" width=\"128\" height=\"128\" src=\"https://github.com/FWGS/xash3d-fwgs/raw/master/game_launch/icon-xash-material.png\" alt=\"Xash3D FWGS icon\" /\u003e\n[![GitHub Actions Status](https://github.com/FWGS/xash3d-fwgs/actions/workflows/c-cpp.yml/badge.svg)](https://github.com/FWGS/xash3d-fwgs/actions/workflows/c-cpp.yml) [![FreeBSD Build Status](https://img.shields.io/cirrus/github/FWGS/xash3d-fwgs?label=freebsd%20build)](https://cirrus-ci.com/github/FWGS/xash3d-fwgs) \\\n[![Discord Server](https://img.shields.io/discord/355697768582610945?logo=Discord\u0026label=International%20Discord%20chat)](http://fwgsdiscord.mentality.rip/) [![Russian speakers Telegram Chat](https://img.shields.io/badge/Russian_speakers_Telegram_chat-gray?logo=Telegram)](https://t.me/flyingwithgauss) \\\n[![Download Daily Build](https://img.shields.io/badge/downloads-testing-orange)](https://github.com/FWGS/xash3d-fwgs/releases/tag/continuous)\n\nXash3D ([pronounced](https://ipa-reader.com/?text=ks%C9%91%CA%82) `[ksɑʂ]`) FWGS is a game engine, aimed to provide compatibility with Half-Life Engine and extend it, as well as to give game developers well known workflow.\n\nXash3D FWGS is a heavily modified fork of an original [Xash3D Engine](https://www.moddb.com/engines/xash3d-engine) by Unkle Mike.\n\n## Donate\n[![Donate to FWGS button](https://img.shields.io/badge/Donate_to_FWGS-%3C3-magenta)](Documentation/donate.md) \\\nIf you like Xash3D FWGS, consider supporting individual engine maintainers. By supporting us, you help to continue developing this game engine further. The sponsorship links are available in [documentation](Documentation/donate.md).\n\n## Fork features\n* Steam Half-Life (HLSDK 2.5) support.\n* Crossplatform and modern compilers support: supports Windows, Linux, BSD \u0026 Android on x86 \u0026 ARM and [many more](Documentation/ports.md).\n* Better multiplayer: multiple master servers, headless dedicated server, voice chat, [GoldSrc protocol support](Documentation/goldsrc-protocol-support.md) and IPv6 support.\n* Multiple renderers support: OpenGL, GLESv1, GLESv2 and Software.\n* Advanced virtual filesystem: `.pk3` and `.pk3dir` support, compatibility with GoldSrc FS module, fast case-insensitivity emulation for crossplatform.\n* Mobility API: better game integration on mobile devices (vibration, touch controls).\n* Different input methods: touch and gamepad in addition to mouse \u0026 keyboard.\n* TrueType font rendering, as a part of mainui_cpp.\n* External VGUI support module.\n* PNG \u0026 KTX2 image format support.\n* Ogg Vorbis (`.ogg`) \u0026 Ogg Opus (`.opus`) audio formats support.\n* [A set of small improvements](Documentation/), without broken compatibility.\n\n## Installation \u0026 Running\n0) Get Xash3D FWGS binaries: you can use [testing](https://github.com/FWGS/xash3d-fwgs/releases/tag/continuous) build or you can compile engine from source code.\n1) Copy engine binaries to some directory.\n2) Copy `valve` directory from [Half-Life](https://store.steampowered.com/app/70/HalfLife/) to directory with engine binaries.\nIf your CPU is NOT x86 compatible or you're running 64-bit version of the engine, you may want to compile [Half-Life SDK](https://github.com/FWGS/hlsdk-portable).\nThis repository contains our fork of HLSDK and restored source code for Half-Life expansions and some mods.\nYou still needed to copy `valve` directory as all game resources located there.\n3) Run the main executable (`xash3d.exe` or AppImage).\n\nFor additional info, run Xash3D with `-help` command line key.\n\n## Contributing\n* Before sending an issue, check if someone already reported your issue. Make sure you're following \"How To Ask Questions The Smart Way\" guide by Eric Steven Raymond. Read more: http://www.catb.org/~esr/faqs/smart-questions.html.\n* Issues are accepted in both English and Russian.\n* Before sending a PR, check if you followed our contribution guide in CONTRIBUTING.md file.\n\n## Build instructions\nWe are using Waf build system. If you have some Waf-related questions, I recommend you to read [Waf Book](https://waf.io/book/).\n\n**NOTE: NEVER USE GitHub's ZIP ARCHIVES. GitHub doesn't include external dependencies we're using!**\n\n### Prerequisites\nIf your CPU is x86 compatible and you're on Windows or Linux, we are building 32-bit code by default. This was done to maintain compatibility with Steam releases of Half-Life and based on it's engine games.\nEven if Xash3D FWGS does support targetting 64-bit, you can't load games without recompiling them from source code!\n\nIf your CPU is NOT x86 compatible or you decided build 64-bit version of engine, you may want to compile [Half-Life SDK](https://github.com/FWGS/hlsdk-portable).\nThis repository contains our fork of HLSDK and restored source code for Half-Life expansions and some mods.\n\n#### Windows (Visual Studio)\n* Install Visual Studio.\n* Install latest [Python](https://python.org) **OR** run `cinst python.install` if you have Chocolatey.\n* Install latest [Git](https://git-scm.com/download/win) **OR** run `cinst git.install` if you have Chocolatey.\n* Download [SDL2](https://libsdl.org/download-2.0.php) development package for Visual Studio.\n* Clone this repository: `git clone --recursive https://github.com/FWGS/xash3d-fwgs`.\n* Make sure you have at least 12GB of free space to store all build-time dependencies: ~10GB for Visual Studio, 300 MB for Git, 100 MB for Python and other.\n\n#### GNU/Linux\n##### Debian/Ubuntu\n* Only for 32-bit engine on 64-bit x86 operating system:\n  * Enable i386 on your system: `$ sudo dpkg --add-architecture i386`.\n  * Install `aptitude` ([why?](https://github.com/FWGS/xash3d-fwgs/issues/1828#issuecomment-2415131759)):  `$ sudo apt update \u0026\u0026 sudo apt upgrade \u0026\u0026 sudo apt install aptitude`\n  * Install development tools: `$ sudo aptitude --without-recommends install git build-essential gcc-multilib g++-multilib libsdl2-dev:i386 libfreetype-dev:i386 libopus-dev:i386 libbz2-dev:i386 libvorbis-dev:i386 libopusfile-dev:i386 libogg-dev:i386`.\n  * Set PKG_CONFIG_PATH environment variable to point at 32-bit libraries: `$ export PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig`.\n\n* For 64-bit engine on 64-bit x86 and other non-x86 systems:\n  * Install development tools: `$ sudo apt install git build-essential python libsdl2-dev libfreetype6-dev libopus-dev libbz2-dev libvorbis-dev libopusfile-dev libogg-dev`.\n\n* Clone this repostory: `$ git clone --recursive https://github.com/FWGS/xash3d-fwgs`.\n\n##### RedHat/Fedora\n* Only for 32-bit engine on 64-bit x86 operating system:\n  * Install development tools: `$ sudo dnf install git gcc gcc-c++ glibc-devel.i686 SDL2-devel.i686 opus-devel.i686 freetype-devel.i686 bzip2-devel.i686 libvorbis-devel.i686 opusfile-devel.i686 libogg-devel.i686`.\n  * Set PKG_CONFIG_PATH environment variable to point at 32-bit libraries: `$ export PKG_CONFIG_PATH=/usr/lib/pkgconfig`.\n\n* For 64-bit engine on 64-bit x86 and other non-x86 systems:\n  * Install development tools: `$ sudo dnf install git gcc gcc-c++ SDL2-devel opus-devel freetype-devel bzip2-devel libvorbis-devel opusfile-devel libogg-devel`.\n\n* Clone this repostory: `$ git clone --recursive https://github.com/FWGS/xash3d-fwgs`.\n\n### Building\n#### Windows (Visual Studio)\n0) Open command line.\n1) Navigate to `xash3d-fwgs` directory.\n2) (optional) Examine which build options are available: `waf --help`.\n3) Configure build: `waf configure --sdl2=c:/path/to/SDL2`.\n4) Compile: `waf build`.\n5) Install: `waf install --destdir=c:/path/to/any/output/directory`.\n\n#### Linux\nIf compiling 32-bit on amd64, make sure `PKG_CONFIG_PATH` from the previous step is set correctly, prior to running configure.\n\n0) (optional) Examine which build options are available: `./waf --help`.\n1) Configure build: `./waf configure` (you need to pass `-8` to compile 64-bit engine on 64-bit x86 processor).\n2) Compile: `./waf build`.\n3) Install: `./waf install --destdir=/path/to/any/output/directory`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFWGS%2Fxash3d-fwgs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFWGS%2Fxash3d-fwgs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFWGS%2Fxash3d-fwgs/lists"}