Want to help improve the Freeciv-Web HTML5 client?

Do you want to help out with Freeciv development? Then check out this forum.
Post Reply
AndreasR
Elite
Posts: 754
Joined: Thu May 02, 2013 10:26 pm

Want to help improve the Freeciv-Web HTML5 client?

Post by AndreasR »

The Freeciv-Web client for Freeciv is always looking for help in improving the game.
You can help with development and improving the code, testing and reporting improvements, design of user-interface and improved graphics!

Image

The first step in helping Freeciv-web is getting the development environment running on your own computer. It will setup a Ubuntu 14.04 Linux machine on your host operating system such as Windows, OSX or Linux. It is all documented on the Freeciv-web Github page:

1. Install VirtualBox: https://www.virtualbox.org/
2. Install Vagrant: http://www.vagrantup.com/
3. Install Git: http://git-scm.com/ then check out Freeciv-web from git to a directory on your computer, by running this git command:

Code: Select all

git clone https://github.com/freeciv/freeciv-web.git --depth=10
4. Run Vagrant with the following commands in your Freeciv-web directory from step 3:

Code: Select all

vagrant plugin install vagrant-vbguest
vagrant up
This will build, compile, install and run Freeciv-web on the virtual server image. Wait for the installation process to complete, watching for any error messages in the logs.

5. (Skip this step if you run Windows) For Linux or OS X, then you need to setup a SSH tunnel to port 80 like this:
sudo ssh -p 2222 -gNfL 80:localhost:80 vagrant@localhost -i ~/.vagrant.d/insecure_private_key

Then test Freeciv-web by pointing your browser to http://localhost/ on your host operating system.

To log in to your Vagrant server, run the command:

Code: Select all

 vagrant ssh
Looking forward to new developers on Freeciv-web!
dx486
Posts: 3
Joined: Sat Feb 27, 2016 8:54 pm

Re: Want to help improve the Freeciv-Web HTML5 client?

Post by dx486 »

I want to help, but I am not yet a programmer. I am enthusiastic about it.

Overview on GitHub page is informative, however it seems a little complicated to me. I want to help in the future but I don't know where to start because I see many programming languages there. Which one should I learn first? What is your suggestion, please? In which area is most help needed?
Freeciv-Web consists of these components:

Freeciv-web - a Java web application for the Freeciv-web client. This application is a Java web application which make up the application viewed in each user's web browser. The Metaserver is also a part of this module. Implemented in Javascript, Java, JSP, PHP, HTML and CSS. Built with maven and runs on the Resin application server.

Freeciv - the Freeciv C server, which is checked out from the official svn repository, and patched to work with a WebSocket/JSON protocol. Implemented in C.

Freeciv-proxy - a WebSocket proxy which allows WebSocket clients in Freeciv-web to send socket requests to Freeciv servers. WebSocket requests are sent from Javascript in Freeciv-web to nginx, which then proxies the WebSocket messages to freeciv-proxy, which finally sends Freeciv socket requests to the Freeciv servers. Implemented in Python.

Publite2 - a process launcher for Freeciv C servers, which manages multiple Freeciv server processes and checks capacity through the Metaserver. Implemented in Python.

pbem is play-by-email support.

freeciv-earth is code to generate Freeciv savegames from a map captured from mapbox.
AndreasR
Elite
Posts: 754
Joined: Thu May 02, 2013 10:26 pm

Re: Want to help improve the Freeciv-Web HTML5 client?

Post by AndreasR »

dx486 wrote:I want to help, but I am not yet a programmer. I am enthusiastic about it.

Overview on GitHub page is informative, however it seems a little complicated to me. I want to help in the future but I don't know where to start because I see many programming languages there. Which one should I learn first? What is your suggestion, please? In which area is most help needed?
Hi dx486! There are many ways you can contribute towards Freeciv-web. Testing the game and suggesting improvements and reporting bugs is always welcome.
If you want to contribute code to the game, then I suggest you try getting the game running using Vagrant on your own computer, using the description on Github. You could for example start learning some JavaScript, HTML and CSS, by making some improvements to the Freeciv-web webapp. Good luck!
Post Reply