Source SDK 2013
![Icon-broom.png](/w/images/thumb/7/71/Icon-broom.png/32px-Icon-broom.png)
Wichtige Punkte
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
Einrichtung (alle Plattformen)
Einrichten der Source-SDK-Base
Installieren Sie Source SDK Base 2013 (Multiplayer oder Singleplayer, abhängig von Ihrem Mod) von Steam->Bibliothek->Tools oder über die folgenden Links:
- Install Source SDK Base 2013 (SP) Singleplayer (AppID: 243730)
- Install Source SDK Base 2013 (MP) Multiplayer (AppID: 243750)
Den Code holen
Methode eins: Verwenden des GitHub Desktop-Clients (Windows/OS X)
- Laden Sie den GitHub Desktop-Client herunter und installieren Sie ihn
- Öffnen Sie das Source SDK Git Repo und klicken Sie auf „Auf Desktop klonen“
Methode zwei: Über die Befehlszeile (Windows/OS X/Linux)
- Laden Sie die Git-CLI herunter und installieren Sie sie. Linux-Benutzer können es mit dem Paketmanager ihrer Distribution (APT, Aptitude, DNF, Pacman, Synaptic ...) herunterladen. Mac-Benutzer können git hier herunterladen.
- Öffnen Sie das Terminal/die Eingabeaufforderung und führen Sie diesen Befehl aus:
git clone https://github.com/ValveSoftware/source-sdk-2013.git
Methode drei: Herunterladen des ZIP-Archivs
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
Download von hier
Einrichtung (plattformspezifisch)
Source-SDK 2013 unter Windows
Schritt Eins: Installieren von Visual Studio
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
Installieren Sie einfach sowohl VS 2013 als auch 2015 (oder neuer), öffnen Sie die Lösung in VS 2015 und überspringen Sie den Dialog, in dem VS 2015 versucht, Ihre Projekte zu aktualisieren.
Sie können auch ohne Visual Studio oder mit einer anderen Version kompilieren.
Ab 2021 hat Microsoft die Pakete entfernt, die für das Funktionieren des webbasierten VS2013-Installationsprogramms erforderlich sind. Führen Sie die folgenden Schritte aus, um VS2013 mithilfe der ISO-Methode zu installieren.
Voraussetzungen:
- Microsoft-Konto
- Programm zum Extrahieren von ISO-Dateien, z. B. das kostenlose 7-Zip
Installationsschritte:
- Melden Sie sich für das kostenlose Programm Dev Essentials an, um Zugriff auf die Downloads zu erhalten
- Nachdem Sie sich angemeldet haben, gehen Sie zur Seite „Ältere Downloads“ hier
- Wählen Sie "2013" und dann "Herunterladen". Sie werden zu einer Seite mit einer Liste von Visual Studio 2013-Downloads weitergeleitet
- Wählen Sie „Download“ neben „Visual Studio Community 2013 Update 5“ und eine ISO-Datei wird auf Ihren Computer heruntergeladen
- Extrahieren Sie die heruntergeladene ISO mit Ihrem ISO-Extraktionsprogramm irgendwo
- Führen Sie die Datei "vs_community.exe" im extrahierten Ordner aus
- Folgen Sie den Anweisungen des Installationsprogramms
Wenn Sie irgendwo nicht weiterkommen, können Sie dieses Video ansehen(Englisch).
Laden Sie auch die Multibyte MFC Library herunter und installieren Sie sie.
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
Schritt Zwei: Installieren des Microsoft Speech SDK
- Laden Sie eine ZIP des Speech SDK herunter.
Hinweis:Microsoft hat die Download-Seite des Speech SDK entfernt. Der obige Link lädt eine ZIP-Datei mit den Inhalten des SDK herunter, einschließlich Code-Korrekturen, die von der SDK2013CE-Community vorgenommen wurden und zuvor auf dieser Seite dokumentiert wurden.
- Entpacken Sie das ZIP-Archiv und kopieren Sie den Ordner sapi51 in den Ordner
<SDKROOT>\sp\src\utils
oder den Ordner<SDKROOT>\mp\src\utils
, je nachdem dein Mod.
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
unresolved symbol _IID_IspPhoneticAlphabetSelection
erzeugen. Dies liegt vielleicht daran, dass Sie bereits etwas montiert hatten und der Teilaufbau defekt ist. Dieses Problem kann leicht behoben werden, indem der phonemeextractor
neu erstellt wird.
Schritt Drei: Source-SDK kompilieren und Projektdateien vorbereiten
- Navigiere zu
<path-to-git>\sp\src\
und führe createallprojects.bat und 'creategameprojects.bat aus - Navigiere zu
<path-to-git>\mp\src\
und führe createallprojects.bat und 'creategameprojects.bat aus
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
- Öffnen Sie everything.sln für den gewünschten Modus (Singleplayer oder Multiplayer).
- Wählen Sie die Alles-Lösung aus, die sich unter der Solution Explorer-Liste befindet, dann aus dem mittleren Menü, direkt neben dem Auto-Dropdown-Menü (das Eigenschaftsfeld/ unter dem Lösungs-Explorer), ändern Sie Debug in Release.
- Klicken Sie mit der rechten Maustaste auf die Lösung alles und wählen Sie dann Lösung erstellen.
![Warning.png](/w/images/thumb/c/cb/Warning.png/10px-Warning.png)
Anmerkungen
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
<path-to-git>\sp\src\game\client\Release_mod_hl2
und <path -to-git>\sp\src\game\client\Release_mod_episodic
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
<path-to-git>\sp\src\game\server\Release_mod_hl2
und <path -to-git>\sp\src\game\server\Release_mod_episodic
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
Schritt 4: Aufbau der Shader
Siehe Source SDK 2013: Shader Authoring .
Source SDK 2013 auf OS X
Schritt Eins: Anforderungen
- Holen Sie sich OS X Mavericks, das auf einer virtuellen Maschine ausgeführt werden kann.
- Installieren Sie Xcode 5.0.2 (erfordert ein Apple-Entwickler-ID-Konto).
- Außerdem müssen die "Command Line Tools" installiert sein. Sie finden dies im Fenster „Preferences -> Downloads -> Components“ von Xcode.
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
src/devtools/base.xcconfig
ändern, um kompatiblere Projekteinstellungen zu generieren (die wichtigste ist SDKROOT
am Ende).![Warning.png](/w/images/thumb/c/cb/Warning.png/10px-Warning.png)
ARCHS
-Variable in Xcode so aktualisieren, dass sie etwas anderes als i386
ist.Schritt Zwei: Generieren der Xcode-Projekte
Führen Sie die folgenden Skripts aus, um Projektdateien zu generieren.
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
cd <SDK_ROOT>/sp/src ./createallprojects ./creategameprojects cd <SDK_ROOT>/mp/src ./createallprojects ./creategameprojects
games.xcodeproj und 'everything.xcodeproj werden im Ordner src
generiert.
Schritt Drei: Erstellen
Um die Tools, Server- und Client-Bibliotheken zu kompilieren, öffnen Sie 'everything.xcodeproj und 'games.xcodeproj in Xcode und erstellen Sie die Projekte (Product -> Build).
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
Schritt Vier: Binärdateien
Nach erfolgreicher Erstellung werden client.dylib
und server.dylib
erstellt und können mit dem gewünschten Source SDK Base 2013-Zweig (Einzelspieler oder Mehrspieler) verwendet werden.
Source-SDK 2013 unter Linux
![Blank image.png](/w/images/b/ba/Blank_image.png)
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
Erster Schritt: Die grundlegenden C/C++-Entwicklungstools besorgen
Sie sollten diese bereits haben, aber um sicherzugehen, können Sie den folgenden Befehl in einem Terminal ausführen:
sudo apt-get install build-essential
Benutzer von AMD64 (64 Bit) müssen zusätzliche Pakete herunterladen und installieren, um auf die i386-Architektur (32 Bit) abzuzielen. Dies kann mit diesem Befehl in einem Terminal erfolgen:
sudo apt-get install gcc-multilib g++-multilib
Schritt Zwei: Vorbereiten des Source-SDK 2013
Angenommen, Sie haben das Source SDK 2013 bereits über Git geklont (oder die ZIP-Datei heruntergeladen), führen Sie einfach die folgenden Befehle aus (indem Sie [SDK_ROOT] durch den Speicherort des Source SDK 2013 ersetzen, [GAME] durch „sp“ oder „mp“. abhängig von Ihrem Mod und [SCRIPT] entweder durch "./createallprojects" oder "./creategameprojects"), gehen Sie in:
cd [SDK_ROOT]/[GAME]/src [SCRIPT]
Je nachdem, welches Skript Sie ausgeführt haben, haben Sie ein Master-Makefile namens games.mak oder everything.mak, das im Ordner src
generiert wird.
Schritt Drei: Herunterladen, Installieren und Einrichten der Steam-Client-Laufzeit
Die Steam Client Runtime hilft Ihnen, die Kompatibilität mit den meisten GNU/Linux-Distributionen zu gewährleisten. Es wird empfohlen, es in "/valve/steam-runtime" zu installieren, wenn Ihnen das nicht gefällt und Sie die Steam-Client-Laufzeit woanders installieren möchten: Der symbolische Link ist Ihr Freund. Wir gehen davon aus, dass Sie die erste Option wählen möchten. Führen Sie die folgenden Befehle in einem Terminal aus, stellen Sie sicher, dass Sie "[USER]" durch Ihren Login und "[GROUP]" durch Ihren Gruppennamen ersetzen:
cd / sudo mkdir valve cd valve sudo wget https://media.steampowered.com/client/runtime/steam-runtime-sdk_latest.tar.xz sudo tar xvf steam-runtime-sdk_latest.tar.xz sudo mv steam-runtime-sdk_2013-09-05 steam-runtime sudo chown <USER>:<GROUP> * -R
Führen Sie das „./setup.sh“-Skript im „steam-runtime“-Verzeichnis aus, wählen Sie die „i386“-Architektur und eine Konfiguration Ihrer Wahl, sagen Sie „Ja“ zu allem, was mit Updates zu tun hat.
Vor dem Kompilieren des SDK müssen Sie die Sandbox (Chroot-Umgebung) ausführen, dies geschieht durch Ausführen des Skripts "./shell.sh --arch=i386".
Schritt Vier: Zeit zum Kompilieren
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
dpkg
installieren, um das Spiel zu kompilieren.In einem Terminal (wie immer), "cd" in das "sp" (Singleplayer) oder "mp" (Multiplayer) Verzeichnis des SDK und das "src" Verzeichnis, führen Sie einfach den folgenden Befehl zum Kompilieren aus (ersetzen Sie [MAKEFILE] durch "games.mak" oder "everything.mak", je nachdem, welche Ihnen zur Verfügung steht):
make -f [DATEI ERSTELLEN].mak
Wenn alles gut gelaufen ist, sollten Sie die Dateien „client.so“ und „server.so“ im Verzeichnis „game“ haben, um sie mit dem entsprechenden Source SDK Base 2013 zu laden. Weitere Anweisungen zur Verwendung der Steam-Client-Laufzeit finden Sie unter Lesen die Datei "README.txt" im installierten Runtime-Verzeichnis.
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
/usr/bin/objcopy
zu finden ist.![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
/valve/steam-runtime
extrahiert haben, geben Sie die Umgebungsvariable STEAM_RUNTIME_PATH
an, die den Pfad zur extrahierten Laufzeit angibt, bevor Sie make ausführen.Auf Steam einrichten
Siehe Setup-Mod auf Steam .
Weitere Informationen
Hinzufügen neuer Dateien mit dem VPC
- Fügen Sie hier eine Anleitung hinzu.
- Öffnen Sie hl2.vpc mit einem Texteditor und bearbeiten Sie diese Zeile oder so etwas.
VPC generiert Projektdateien für alle Plattformen, die das SDK unterstützt. Wenn Sie also Ihrem Projekt Dateien so hinzufügen möchten, dass Sie problemlos auf anderen Plattformen aufbauen können, sollten Sie die Verwendung von VPC in Betracht ziehen. Um beispielsweise einem Multiplayer-Spiel eine Datei hinzuzufügen, könnten Sie eine Zeile zu src/game/client/client_hl2mp.vpc hinzufügen.
Verzeichnisstruktur
- Spiel - Laufzeitdateien für die Mods selbst. Alle Mod-Inhalte werden hier eingefügt.
- src - Der gesamte Quellcode für diese Art von Mod. Das Stammverzeichnis des src-Verzeichnisses enthält .sln- oder .mak-Dateien auf Stammebene zum Erstellen der Quelle.
- allgemein - Ein paar Dateien, die von den Server- und Client-DLLs verwendet werden
- devtools - Skripte und Dienstprogramme, die zum Erstellen des Quellcodes verwendet werden. Diese werden von den Makefiles und Projekten aufgerufen und Sie müssen wahrscheinlich nicht direkt mit ihnen interagieren.
- Spiel - Der gesamte Quellcode für die DLLs.
- client - Code, der von client.dll (oder client.dylib oder client.so) verwendet wird. Darunter befinden sich auch spielspezifische Verzeichnisse.
- server - Von server.dll verwendeter Code. Darunter befinden sich auch spielspezifische Verzeichnisse.
- shared - Code, der sowohl von client.dll als auch von server.dll verwendet wird.
- gcsdk - Ein paar Tools zum Erstellen der DLLs.
- lib - Binäre Versionen der Bibliotheken, von denen der Quellcode abhängt. Dies ist auch das Erstellungsziel für vgui_controls, tier1 und mathlib.
- mathlib - Vom Spiel verwendete mathematische Hilfsprogramme.
- public - Header-Dateien für alle DLLs und Bibliotheken, die vom Spiel verwendet werden. Enthält auch einige Quelldateien.
- thirdparty - Bibliotheken von Drittanbietern, die zum Erstellen der Quelle benötigt werden. Im Moment enthält diese nur die Bibliothek Google Protocol Buffers (protobuf).
- tier1 - Nützliche Utility-Klassen. Integriert in tier1.lib
- utils - Verschiedene Entwicklungsprogramme
- vgui2 - Quellcode für vgui_controls, das von client.dll verwendet wird.
Fehlerbehebung
RegKey für .vcproj-Dateien kann in Lösungen (Windows) nicht gefunden werden
- Installieren und aktualisieren Sie Visual Studio 2013. Siehe Source-SDK 2013 unter Windows(Schritt eins).
Oder wenn Sie keine Lust auf ein Downgrade auf VS2013 haben, können Sie diese alternative Lösung ausprobieren und sehen, ob sie für Sie funktioniert.
![Warning.png](/w/images/thumb/c/cb/Warning.png/10px-Warning.png)
- Wie in den GitHub-Repository-Kommentaren gefunden. Eine Möglichkeit, das Problem zu lösen, ist wie folgt:
- Gehen Sie zur Windows-Registrierung, bearbeiten Sie „regedit.exe“ und navigieren Sie zu:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\10.0\Projects\{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}
- Fügen Sie die Registrierungsschlüssel "project" und "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}" hinzu, falls sie noch nicht vorhanden sind.
- Sobald Sie drinnen sind, fügen Sie einen Zeichenfolgenschlüssel hinzu und nennen Sie ihn DefaultProjectExtension.
- Klicken Sie mit der rechten Maustaste darauf und gehen Sie zu 'Ändern'
- Setzen Sie die Daten auf vcproj und klicken Sie auf ok.
Sobald Sie fertig sind, sollte es so aussehen:
Versuchen Sie jetzt, die .bat erneut auszuführen, und Ihre .sln-Datei sollte ohne Probleme generiert werden!
MSB8008: Das angegebene Plattform-Toolset (v120_xp) oder (v120) ist nicht installiert oder ungültig (Windows)
- Alle Projektdateien auswählen
- Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie dann "Eigenschaften"
- Wählen Sie "Konfigurationseigenschaften"
- Unter "Platform toolset" this -> (v100)
(Projekt->Eigenschaften->Konfigurationseigenschaften->Allgemein->Plattform-Toolset = Visual Studio 2010(v100))
Probleme mit "min" oder "max" von Steam Runtime beim Kompilieren unter Linux
Wenn beim Kompilieren unter Linux Probleme mit der Erwähnung von "min" oder "max" auftreten, liegt dies daran, dass Sie etwas einschließen, das auf die STL verweist, und die Makros von Valve für min und max damit in Konflikt stehen.
Normalerweise ist GCC ziemlich gut darin, Ihnen zu sagen, welche Dateien fehlerhaft sind.
Gehen Sie zu diesen Dateien und umgeben Sie die fehlerhaften Includes mit: <vor>
- include "tier0/valve_minmax_off.h"
<Ihr Include, das STL verwendet>
- include "tier0/valve_minmax_on.h"
Dies sollte Ihnen das Kompilieren ermöglichen. Stellen Sie sicher, dass Sie nur die Includes umschließen, die die STL verwenden, da andere spielbezogene Includes möglicherweise die Definition des Valve Min/Max-Makros erfordern!