In dit onderwerp zal ik uitleggen hoe je RCBot2 voorbereidt en compileert voor zowel Linux als Windows.

Om dit te doen, heb je Python 3, Git en de compilers (GCC 5+ en Clang voor Linux) en de MSVC-compilerkit van Visual Studio 2015 of nieuwer nodig. En je hebt ook de HL2SDK-, SourceMod- en Metamod-headers nodig die vanuit mijn Github-repository worden geleverd.

Voorbereiding:-

Voordat u begint, moet u deze documentatie van de wikipagina van AlliedMods lezen om deze correct te compileren. U vindt de vereisten en hulpmiddelen die u moet installeren. (Python 2 is nu EOLed en afgeschreven, dus misschien is het het beste om Python 3 te installeren.)

https://wiki.alliedmods.net/Building_SourceMod

Linux AMBuild-installatie: -

Om AMBuild te gebruiken en te installeren, moet u de Linux Terminal Shell laden en dit invoeren om AMBuild te verkrijgen: -

(Voor Debian, Ubuntu en Linux Mint Distro's)

Code:
$ sudo apt install python python-clang python-pip git gcc g++ clang clang++
Om AMBuild te verkrijgen: -

Code:
$ sudo git clone https://github.com/alliedmodders/ambuild
$ sudo pip install ./ambuild
Hint: voor Linux-rookies die vastlopen als je wilt dat je Terminal teruggaat naar een maptype `cd..`. Het wordt aanbevolen om geen rootgebruiker te gebruiken of in te loggen.

Voor het gebruik van RCBot2 kun je ofwel: `$ sudo git-kloon https://github.com/APGRoboCop/rcbot2` of download de broncode direct vanaf daar.

Nadat u RCBot2 src-code hebt gedownload, maakt u een map met de naam "build" in de hoofdmap /rcbot door te typen `mkdir bouwen` of als je Linux Mint gebruikt met een Cinnamon Desktop, klik dan met de rechtermuisknop in het /rcbot mapvenster en klik op [Create New Folder] en noem het "build"

Click image for larger version. 

Name:	rcbot1.jpg 
Views:	298 
Size:	59.0 KB 
ID:	197

Deze methode is eenvoudiger en vereist minder klikken dan het typen van de map voor like `cd /rcbot2/build` of de volledige map enz: -

Click image for larger version. 

Name:	rcbot2.jpg 
Views:	315 
Size:	50.9 KB 
ID:	198

Compileren in Linux: -

Stel nu dat u bijvoorbeeld RCBot2 wilt compileren voor TF2 debug build. Typ dit in de Terminal in /rcbot2/build als volgt: -

Code:
$ python3 ../configure.py -s tf2 --mms_path ./alliedmodders/metamod-source --hl2sdk-root ./alliedmodders --sm-path ./alliedmodders/sourcemod --enable-debug
$ ambuild
En hopelijk is het RCBot2-pakket gecompileerd en klaar!

Probleemoplossen: Als u AMBuild niet kunt krijgen om de SDK's correct te compileren of te lokaliseren, probeer dan het volledige directoryadres te typen, zoals bijvoorbeeld:

Code:
$ python3 ../configure.py -s tf2 --mms_path /home/desktop/Dropbox/src/rcbot2/alliedmodders/metamod-source --hl2sdk-root /home/desktop/Dropbox/src/rcbot2/alliedmodders --sm-path /home/desktop/Dropbox/src/rcbot2/alliedmodders/sourcemod --enable-debug
Windows AMBuild-installatie: -

https://wiki.alliedmods.net/Ambuild

Om nu AMBuild te kunnen gebruiken, moet u Visual Studio 2015 of later installeren. De manier om AMBuild van git te verkrijgen is vergelijkbaar met: `git kloon https://github.com/alliedmodders/ambuild` en `pip install ./ambuild` maar zoals je hebt opgemerkt, wordt "sudo" niet gebruikt, omdat dat voornamelijk voor Linux is.

Maar voordat u Python 3 installeert en rechtstreeks vanuit Visual Studio Developer PowerShell laadt, kunt u Chocolatey of Scoop installeren. Persoonlijk, van mijn kant, had het Python 3-pakket van MS Store enkele privilege-fouten waardoor Python 3 moeilijk te laden en uit te voeren .py-bestanden.

https://scoop.sh/
https://chocolatey.org/

Maar voor deze tutorial laat ik je zien hoe je Scoop gebruikt. Ga gewoon naar het menu Start en zoek en selecteer [Developer PowerShell for VS]. Nadat u de PowerShell hebt geopend, typt u deze in de console:

Code:
PS C:\> iwr -useb get.scoop.sh | iex
PS C:\> Set-ExecutionPolicy RemoteSigned -scope CurrentUser
(Typ daarna [Y] voor Ja)
Code:
PS C:\> scoop install git python
Hopelijk worden zowel Git als Python correct geïnstalleerd. Op die manier kun je AMBuild als volgt installeren: -

Code:
PS C:\> git clone https://github.com/alliedmodders/ambuild
PS C:\> pip install ./ambuild
Compileren in Windows: -

En nu zou het klaar moeten zijn om RCBot2 src-code te compileren, maar zoals eerder bij de Linux-compileerstap, kunt u problemen ondervinden bij het oplossen van problemen. Dus om die tot een minimum te beperken, volg die stappen. Type `cd` en het mapadres zoals dit, bijvoorbeeld als u RCBot2 src-code hebt gedownload van een tweede HDD of USB Flash Drive - zo niet en van C:\-station, negeer de tweede regel als dat zo is: -

Code:
PS C:\> cd E:\rcbot2-master\build
PS C:\> e:
Vergeet niet om een /build map in /rcbot2 aan te maken. Stel nu dat u bijvoorbeeld RCBot2 wilt compileren voor TF2 debug build. Typ dit in de Terminal in /rcbot2/build als volgt: -

Code:
PS E:\rcbot2-master\build python3 ../configure.py -s tf2 --mms_path ./alliedmodders/metamod-source --hl2sdk-root ./alliedmodders --sm-path ./alliedmodders/sourcemod --enable-debug
PS E:\rcbot2-master\build ambuild
En hopelijk is het RCBot2-pakket voor Windows gecompileerd en klaar!

Probleemoplossen: Als u AMBuild niet kunt laten compileren met Developer PowerShell of de SDK's niet correct kunt vinden, typ dan het volledige directoryadres, zoals bijvoorbeeld:

Code:
PS E:\rcbot2-master\build python3 ../configure.py -s tf2 --mms_path E:/rcbot2-master/alliedmodders/metamod-source --hl2sdk-root E:/rcbot2-master/alliedmodders --sm-path E:/rcbot2-master/alliedmodders/sourcemod --enable-debug
Ook als Developer PowerShell niet aan uw kant lijkt te werken, kunt u proberen [Developer Command Prompt for VS] te gebruiken om te zien of het beter zal compileren met deze app. Het nadeel van deze app is dat je zeker de . moet gebruiken `cd E:` omdat de PowerShell u min of meer automatisch opnieuw toewijst aan die doelmap en dat het geen achterstand bijhoudt van de opdrachten die u had getypt wanneer u klaar bent met de opdrachtprompt van de ontwikkelaar.

En voordat ik het vergeet, zorg ervoor dat je AMBuild en Python 3 up-to-date houdt. Om Python 3 up-to-date te houden typ je gewoon `scoop-update *` om de pakketten up-to-date te houden. Voor Linux-computers zoals Debian of Ubuntu moet natuurlijk worden getypt `sudo apt-update` gevolgd door `sudo apt-upgrade`.