FAF development school

Post here if you want to help developing something for FAF.

FAF development school

Postby Softly » 23 Nov 2015, 19:06

TLDR:
PM Softles tomorrow from 19:00 GMT onwards (I'll be around) if you're interested in learning how to do FAF development.


Long version:
Since I think people might be interested, I will make myself officially available to help people set up a FAF development environment, starting tomorrow at 19:00 GMT. (We'll get ourselves a chatroom to do this in, so PM Softles to join)

I'll go through all the basics to get people set up for development on the client code (That's the main faf lobby, with #aeolus and things) and be around to point out what bits do what. I'll also go through how you can get your changes into the main FAF release.

Everyone is welcome, and if there's interest we can set up more regular meetings.


PS:
I only really know about the client code, but if other people want to come along and cover FA lua/server code then that would be awesome.

Lesson 1:
Spoiler: show
First off we want to set up our dev environment, so we can run the code and make changes.

Theres a few things we'll need:

I also recommend getting the GitHub client, its a super handy tool for managing your changes to the code with a pretty UI :) - https://desktop.github.com/

Once you've forked the code online, you can download it locally from the GitHub desktop client. In the top left there is a + symbol, select it and then click clone. From there select the client repository to download it.

Next we open up a git shell (to do this from desktop client, right click the client repository, it should appear on the left, and select open in git shell), and type the command: vagrant up
This runs a virtual machine where we can run the code in the same environment as everyone else. That should mean we don't have any problems :)

Once the virtual machine is up and running, we just need to do 2 things:
    1) Install sip - for some reason this doesn't come as standard in the VM, but we can easily fix that ourselves. From the VM download https://riverbankcomputing.com/software/sip/download and unzip it. Then double click on the configure.py inside it to set it up.
    2) Run the code

To run the code, open up a powershell; you should see the icon for this on the taskbar.
Then run these two commands:

cd C:\vagrant

C:\Python27\python.exe src

The code should run and we're away :)



----



PS if its not working (and it probably won't be for weird reasons):

To fix run the commands:
    cd C:\vagrant
    C:\Python27\lib\site-packages\pip\__main__.py uninstall enum
    C:\Python27\lib\site-packages\pip\__main__.py install requirements.txt

Install: http://www.microsoft.com/en-gb/download ... px?id=5555

Edit the return line (line 100 at last check) of the get_git_version() in src/config/version.py to:
return "0.11.2"
instead of:
return version

Comment out lines 1 and 15 to 20 in file src/fa/init_file.py

Try running again with the command:
C:\Python27\python.exe src


Link to lessons on wiki: http://wiki.faforever.com/index.php?tit ... ent_School
Last edited by Softly on 20 Dec 2015, 22:00, edited 7 times in total.
Softly
Supreme Commander
 
Posts: 1009
Joined: 26 Feb 2012, 15:23
Location: United Kingdom
Has liked: 150 times
Been liked: 251 times
FAF User Name: Softles

Re: FAF development school

Postby briang » 24 Nov 2015, 00:34

This is in the middle of my school day (GMT-5)
Ninrai 2015- briang is usually an aggressive d****e
briang
Spammer
 
Posts: 576
Joined: 17 Nov 2015, 17:52
Has liked: 11 times
Been liked: 65 times
FAF User Name: YouLikeThat

Re: FAF development school

Postby Aulex » 24 Nov 2015, 00:48

Make sure you check "Automatically archive my broadcasts" in https://secure.twitch.tv/settings/channel so it can be referenced in the future.
"Let's start beating ass and die" - drunk TA4Life

"Just because you have a d*** doesn't mean you need to be one...pussy" -Blackdeath

SCOUTING SAVES LIVES
http://imgur.com/YGk0W0o

How to play Sup Com by Ubilaz
http://goo.gl/je83z
User avatar
Aulex
Contributor
 
Posts: 1050
Joined: 17 Nov 2012, 05:29
Has liked: 299 times
Been liked: 225 times
FAF User Name: VoR_Aulex

Re: FAF development school

Postby Softly » 24 Nov 2015, 01:35

Aulex wrote:Make sure you check "Automatically archive my broadcasts" in https://secure.twitch.tv/settings/channel so it can be referenced in the future.


I wasn't going to stream it, but maybe that's a feature we can add to FAF
Softly
Supreme Commander
 
Posts: 1009
Joined: 26 Feb 2012, 15:23
Location: United Kingdom
Has liked: 150 times
Been liked: 251 times
FAF User Name: Softles

Re: FAF development school

Postby Exotic_Retard » 24 Nov 2015, 02:25

if you could also write down what you teach there in the wiki i would appreciate that.
Image
User avatar
Exotic_Retard
Contributor
 
Posts: 1470
Joined: 21 Mar 2013, 22:51
Has liked: 557 times
Been liked: 626 times
FAF User Name: Exotic_Retard

Re: FAF development school

Postby Softly » 24 Nov 2015, 03:37

Exotic_Retard wrote:if you could also write down what you teach there in the wiki i would appreciate that.


If you're offering to come and make notes you're more than welcome!
Softly
Supreme Commander
 
Posts: 1009
Joined: 26 Feb 2012, 15:23
Location: United Kingdom
Has liked: 150 times
Been liked: 251 times
FAF User Name: Softles

Re: FAF development school

Postby IceDreamer » 24 Nov 2015, 04:06

I can probably be around to cover the lua element.
IceDreamer
Supreme Commander
 
Posts: 2607
Joined: 27 Dec 2011, 07:01
Has liked: 138 times
Been liked: 488 times

Re: FAF development school

Postby theManfet » 24 Nov 2015, 23:12

participants of lesson 1 - if you ask them nicely they maybe can help you if have problems in trying to follow lesson 1 ;)
ZLO
JaggedAppliance
yorick
NiCAD
and me.

if you want to get to the client folder in gitshell you can also start the gitshell normally and then enter "ls" to see all folders and change to folder client by entering "cd client"
Last edited by theManfet on 24 Nov 2015, 23:55, edited 1 time in total.
User avatar
theManfet
Contributor
 
Posts: 84
Joined: 12 Jul 2012, 23:49
Has liked: 25 times
Been liked: 0 time
FAF User Name: Manfet

Re: FAF development school

Postby Softly » 24 Nov 2015, 23:17

theManfet wrote:participants of lesson 1 - if you ask them nicely they maybe can help you if have problems in trying to follow lesson 1 ;)
ZLO
JaggedAppliance
yorick
and me.

if you want to get to the client folder in gitshell you can also start the gitshell normally and then enter "ls" to see all folders and change to folder client by entering "cd client"


Updated main post to let people know how to get git shell going
Softly
Supreme Commander
 
Posts: 1009
Joined: 26 Feb 2012, 15:23
Location: United Kingdom
Has liked: 150 times
Been liked: 251 times
FAF User Name: Softles

FAF development school

Postby Stups » 27 Nov 2015, 19:35

Linux version:

Comment out lines 1 and 15 to 20 in file src/fa/init_file.py

Navigate to the faf folder in the terminal and execute the following commands:
sudo pip install -r requirements.txt
apt-get remove python-enum (normally you wouldnt have this package)
apt-get install python-enum34
python src

(if you get an error regarding trueskill)
download trueskill and place it in the src folder
https://pypi.python.org/packages/source ... 4.3.tar.gz

if it doesnt work, pm me the error you get.
"We need rest. The spirit is willing, but the flesh is spongy and bruised." -- Captain Zapp Brannigan, S03E05, Futurama.
User avatar
Stups
Avatar-of-War
 
Posts: 99
Joined: 02 Jul 2015, 21:25
Has liked: 146 times
Been liked: 93 times
FAF User Name: Stups

Next

Return to Contributors

Who is online

Users browsing this forum: No registered users and 1 guest