V tej temi bom razložil, kako pripraviti in prevesti RCBot2 za Linux in Windows.

Zdaj boste za to potrebovali Python 3, Git in prevajalnike (GCC 5+ in Clang za Linux) ter komplet prevajalnikov MSVC iz Visual Studio 2015 ali novejšega. Prav tako boste morali imeti glave HL2SDK, SourceMod in Metamod, ki so na voljo v mojem skladišču Github.

Priprava:-

Preden začnete, boste morali prebrati to dokumentacijo z wiki strani AlliedMods, da jo boste pravilno sestavili. Našli boste zahteve in orodja, ki jih boste potrebovali za namestitev. (Python 2 je zdaj EOL in amortiziran, zato je morda najbolje namestiti Python 3.)

https://wiki.alliedmods.net/Building_SourceMod

Linux AMBuild namestitev:-

Zdaj, če želite uporabljati in namestiti AMBuild, boste morali naložiti terminalsko lupino Linuxa in vnesti to ter pridobiti AMBuild:-

(Za distribucije Debian, Ubuntu in Linux Mint)

Code:
$ sudo apt install python python-clang python-pip git gcc g++ clang clang++
Če želite pridobiti AMBuild:-

Code:
$ sudo git clone https://github.com/alliedmodders/ambuild
$ sudo pip install ./ambuild
Namig: Za začetnike Linuxa, ki se zataknejo, če želite, da se vaš terminal vrne nazaj v vrsto mape "cd ..". Priporočljivo je, da se ne uporabljate ali prijavite kot korenski uporabnik.

Zdaj za uporabo RCBot2 lahko uporabite "$ sudo git clone https: // github.com/APGRoboCop/rcbot2" ali naložite izvorno kodo neposredno od tam.

Ko prenesete kodo src RCBot2, ustvarite mapo z imenom "build" v glavni mapi /rcbot tako, da vnesete `mkdir build` ali če uporabljate Linux Mint z namizjem Cinnamon, preprosto kliknite z desno tipko miške v oknu mape /rcbot in kliknite [Ustvari novo mapo] in ga poimenujte »build«

Click image for larger version. 

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

Ta metoda je enostavnejša in zahteva manj klikov kot vnos imenika za podobno `cd /rcbot2 /build` ali celoten imenik itd:-

Click image for larger version. 

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

Prevajanje v Linuxu:-

Zdaj recimo, da želite na primer sestaviti RCBot2 za odpravljanje napak TF2, kar morate storiti, je, da to vtipkate v terminal, ki se nahaja v /rcbot2 /build, takole:-

Code:
$ python3 ../configure.py -s tf2 --mms_path ./alliedmodders/metamod-source --hl2sdk-root ./alliedmodders --sm-path ./alliedmodders/sourcemod --enable-debug
$ ambuild
Upajmo, da je paket RCBot2 sestavljen in pripravljen!

Odpravljanje težav: Če AMBuild ne morete pravilno sestaviti ali poiskati SDK -jev, poskusite vnesti celoten naslov imenika, na primer:

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
Namestitev sistema Windows AMBuild:-

https://wiki.alliedmods.net/Ambuild

Če želite uporabljati install AMBuild, morate namestiti Visual Studio 2015 ali novejšo različico. Način pridobivanja AMBuild iz gita je podoben `git clone https: // github.com/alliedmodders/ambuild` in `pip install./ambuild` kot ste opazili, da se "sudo" ne uporablja, saj se uporablja predvsem za Linux.

Toda pred tem, če želite namestiti Python 3 in ga naložiti neposredno iz Visual Studio Developer PowerShell, lahko namestite Chocolatey ali Scoop. Osebno je z moje strani paket Python 3 iz trgovine MS Store dobil nekatere pomanjkljivosti privilegijev, zaradi katerih je Python 3 težko naložiti in izvesti datoteke .py.

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

Toda za to vadnico vam bom pokazal uporabo Scoop -a. Preprosto pojdite v meni Start in poiščite in izberite [Developer PowerShell for VS]. Ko odprete PowerShell, v konzolo vnesite naslednje:

Code:
PS C:\> iwr -useb get.scoop.sh | iex
PS C:\> Set-ExecutionPolicy RemoteSigned -scope CurrentUser
(Po tem vnesite [Y] za Da)
Code:
PS C:\> scoop install git python
Upajmo, da se bosta Git in Python pravilno namestila. Tako lahko namestite AMBuild tako:-

Code:
PS C:\> git clone https://github.com/alliedmodders/ambuild
PS C:\> pip install ./ambuild
Prevajanje v sistemu Windows:-

Zdaj bi moralo biti pripravljeno za sestavljanje kode RCBot2 src, toda tako kot prej v koraku sestavljanja Linuxa lahko naletite na nekatere težave pri odpravljanju težav. Zato sledite tem korakom, da jih čim manj. Vrsta `cd` in naslov mape, kot je ta, na primer, če ste kodo RCBot2 src prenesli z drugega trdega diska ali bliskovnega pogona USB - če ne in iz pogona C: \, ignorirajte drugo vrstico: -

Code:
PS C:\> cd E:\rcbot2-master\build
PS C:\> e:
Ne pozabite ustvariti /zgraditi mape v /rcbot2. Zdaj recimo, da želite na primer sestaviti RCBot2 za odpravljanje napak TF2, kar morate storiti, je, da to vtipkate v terminal, ki se nahaja v /rcbot2 /build, takole:-

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
Upajmo, da je paket RCBot2 za Windows sestavljen in pripravljen!

Odpravljanje težav: Če AMBuild ne morete zbrati z orodjem Developer PowerShell ali pravilno poiskati SDK -je, poskusite vnesti celoten naslov imenika, na primer:

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
Tudi če se zdi, da Developer PowerShell ne deluje na vaši strani, lahko poskusite uporabiti [Developer Command Prompt for VS], da preverite, ali se bo s to aplikacijo bolje prevedel. Slaba stran te aplikacije je, da jo boste zagotovo morali uporabiti `cd E:` ker vas PowerShell bolj ali manj samodejno prerazporedi v to ciljno mapo in ne bo zadrževal zaostankov ukazov, ki ste jih vnesli, ko končate z ukaznim pozivom za razvijalce.

Preden pozabim, poskrbite, da bosta AMBuild in Python 3 posodobljena. Če želite posodobiti Python 3, preprosto vnesite `scoop update *` za posodabljanje paketov. Seveda za računalnike Linux, kot sta Debian ali Ubuntu, zahteva tipkanje `sudo apt update` sledi `sudo apt upgrade`.