Skip to content

Commit

Permalink
Merge pull request #32 from Alloyed/release
Browse files Browse the repository at this point in the history
Release v2.0
  • Loading branch information
Alloyed committed Nov 14, 2014
2 parents ec00ddb + 5031a24 commit 97d77cd
Show file tree
Hide file tree
Showing 66 changed files with 3,493 additions and 1,088 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@
/server/dfhack
/server/build
/server/deps
/package/
*.zip
98 changes: 30 additions & 68 deletions COMPILING.md
Original file line number Diff line number Diff line change
@@ -1,90 +1,52 @@
## HOW TO COMPILE ##
Unfortunately, Webfort does not have a solid build process in place (issue #3).

Until it does, use this page to document any holistic steps taken for
later.
Webfort currently compiles as a submodule of DFHack, much like
stonesense.

### Ubuntu 14.04 LTS, 64-bit ###
a quick recording of what it took to compile and run webfort on my
Ubuntu 14.04 machine, 64bit. Fair warning: this will take a significant
chunk of time.
It requires only minimal changes to the default DFHack release, which
can be found at <https://github.com/Alloyed/dfhack/tree/webfort>.

webfort depends on some unpackaged dependencies:
To get a working copy:

* Dwarf Fortress 0.34.11 (download a fresh copy, just for webfort)
git clone https://github.com/Alloyed/dfhack
git checkout webfort
git submodule update --init --recursive

* dfhack 0.34.11-r5
Then you can follow the usual
[DFHack compiling process](https://github.com/Alloyed/dfhack/blob/webfort/Compile.rst).

* SDL 1.2 (just the headers)
Below are extra notes which you should probably read.

* nopoll 0.2.6.b130
### Windows 7 VS2010 ###

All of these need to be 32-bit, because Dwarf Fortress is 32-bit. We'll
install all of them in a 32-bit lxc container, because Ubuntu's
multiarch support isn't so great.
On Windows, all Webfort dependencies are automatically installed by
downloading and extracting this archive:

First step, make the container.
https://s3.amazonaws.com/webfort/webfort-deps-r1.tar.gz

# lxc-create -t ubuntu -n dfhack -- --bindhome <USERNAME> -a i386

boot into it, using the credentials of your current user

# lxc-start -n dfhack


then install all this

# apt-get install curl git build-essential cmake libsdl1.2-dev \
libsdl-image1.2 libsdl-ttf2.0-0 libgtk2.0-0 libjpeg62 libglu1-mesa \
libopenal1 libxml-libxml-perl libxml-libxslt-perl libssl-dev
This includes a number of Boost binaries, as well as SDL headers.

then get Dwarf Fortress. DF needs an extra spriteset and init to be
properly configured, but I didn't do that at the time of writing so add
your own steps.
### Ubuntu 14.04 LTS 64-bit ###

$ curl http://www.bay12games.com/dwarves/df_34_11_linux.tar.bz2 | tar jxf -
In my experience, Multilib support on Debian/Ubuntu is bad enough to
make the linux container option suggested by upstream DFHack to be the
only sane option.

then build dfhack
Get a container by executing:

$ git clone http://github.com/DFHack/dfhack.git
$ cd dfhack
$ git checkout 0.34.11-r5
$ git submodule update --init --recursive
$ mkdir build && cd build
$ cmake .. -DCMAKE_BUILD_TYPE:string=Release -DCMAKE_INSTALL_PREFIX=$PWD/../../df_linux
$ make && make install
$ cd ../..

then build nopoll

$ curl https://no-poll.googlecode.com/files/nopoll-0.2.6.b130.tar.gz |
tar zxf -
$ cd nopoll-0.2.6.b130
$ ./configure
$ make
$ cd ..

then build webfort.

$ make
$ make install
# lxc-create -t ubuntu -n dfhack -- --bindhome <USERNAME> -a i386

and then try running dfhack from your new df install. chances are you
come across this:
https://github.com/DFHack/dfhack/blob/master/Compile.rst#fixing-the-libstdc-version-bug
So just follor the fix there
Where ```<USERNAME>``` is your username, and ubuntu is whichever distro you'd
like. Then boot into it, using the credentials of that user:

#### websocketpp branch ####
you'll also need
# lxc-start -n dfhack

* libboost_system
* libasio
* websocketpp (already a submodule)
* not nopoll
Once there you can install the necessary dependencies for webfort:

TODO. I, personally, used my package manager for boost and asio.
# apt-get install libboost-system-dev libboost-regex-dev libasio-dev libsdl1.2-dev

In addition to everything you need for dfhack:

### Windows 7, VS2010 ###
# apt-get install curl git build-essential cmake libxml-libxml-perl libxml-libxslt-perl

TODO
Then follow the usual instructions.
11 changes: 11 additions & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Here is a non-exhaustive list of everyone whose work went into creating
webfortress. If you'd like your name to be here, just contact
<[email protected]>

mifki <[email protected]>
alloyed <[email protected]>
Dragoon209

Web fortress also uses tilesets/colorschemes created by the wider DF
community, their names can be found in the static/art and static/colors
folders respectively
68 changes: 68 additions & 0 deletions INSTALLING.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
## INSTALLING ##

### FROM BINARY ###

If you recieved your copy of Webfort as a Windows binary, this is the procedure
to follow.

1. Installing the plugin.

One half of Webfort is the dfhack plugin that gets added directly to your Dwarf
Fortress install. Because Web Fortress requires that many of your settings and
keybindings get changed, it's recommended you install it in a new copy of Dwarf
Fortress. You will need
* Dwarf Fortress 0.34.11 (the last DF2012 release)
http://www.bay12games.com/dwarves/older_versions.html
* DFHack 0.34.11-r5
http://dffd.wimbli.com/file.php?id=8682

Then, just extract this zip file over your DF install.

After that, you can test that Web Fortress is correctly installed by running
Dwarf Fortress. In the DFHack Console, you should see a line that says:

[WEBFORT] [2014-11-10 06:11:06] [application] Web Fortress started on port 1234

If you see something like that, then Web Fortress has been properly installed.

2. Running the frontend

To connect to your fortress, users will need to connect to a webserver serving
the files located in the web/ folder. You can either

* Use somebody else's hosted version of these files:

http://alloyed.me/webfort/v2.0/webfort.html?host=<YOUR IP ADDRESS>

Just replace <YOUR IP ADDRESS> with your actual IP. It can be found by typing
"What is my IP Address" into Google.

* Host them yourself

Any server that can host static files will do. Mongoose is easy to use.

http://cesanta.com/mongoose.shtml

Just move the mongoose.exe into your web/ directory and run it. with Moongoose,
the URL to connect to your webfort will be:

http://<YOUR IP ADDRESS>:8080/webfort.html

3. Port Forwarding

For external users to connect to your webfort, they will need to access port
1234, and port 8080 if you installed Mongoose. This is typically done via port
forwarding. If you haven't done this before, see

http://portforward.com/

for a list of guides for common routers.

### From Source ###

Installing from the github source is less well implemented. Following the
COMPILING.md instructions, you should be able to install using the normal
DfHack install process. Then, afterward, you will need to manually copy
everything over from the server/dist folder into your DF root directory, and
move everything in static/ to <DF root>/web/. Everything else should be
identical to the binary install.
1 change: 1 addition & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
Copyright (c) 2014, Vitaly Pronkin <[email protected]>
Copyright (c) 2014, Kyle Mclamb <[email protected]>

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
Expand Down
19 changes: 19 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
v2.0.0
======
* New maintainer
* Changed socket library to websocketpp
* Moved build system to CMake
* Removed queuing system
* Removed idle timer
* Added environment vars for basic configuration
* Changed from host-side resizing to a fixed game size
* Added letterboxing to client-side views
* Added IRC sidepane
* Added user count, time left, and player nicknames to UI
* Added configurable client parameters
* Moved from fixed-delay to capped framerate
* Added version negotation

v1.10
=====
* Initial release
16 changes: 5 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,26 +20,20 @@ If you would like to recieve (likely buggy) prerelease builds, email

### Compiling ###

Web Fortress in known to compile with clang on linux, and VS2010 on
Windows. See <COMPILING.md> for more.
Web Fortress in known to compile with 32bit clang/gcc on linux, and VS2010 on
Windows. See [COMPILING.md](COMPILING.md) for more.

### Installation ###

1. Install webfort plugin as usual.
2. Copy `ShizzleClean.png` or any other text font to `data/art` folder.
3. Copy all `.dll` files to your DF folder.
4. Ensure that `PRINT_MODE` is set to `STANDARD` in your `init.txt`, and set `FONT` to `ShizzleClean.png`.
5. Open `static/js/webchat.js` and edit the `iframeURL` variable to
point to your preferred embeddable chat client. One possible choice
is [qwebirc](http://qwebirc.org).
6. Use any web server to serve files from `static` folder. You can use [Mongoose](http://cesanta.com/mongoose.shtml), just copy it to `static` folder and run.
7. Navigate to `http://<YOUR HOST>/webfort.html` and enjoy.
Installation is documented in [INSTALLING.txt](INSTALLING.txt), which
should come with your release of Web Fortress.

### Authors and Links ###

[Original Source](https://github.com/mifki/df-webfort) -- [Discussion](http://www.bay12forums.com/smf/index.php?topic=139167.0) -- [Report an Issue](https://github.com/Ankoku/df-webfort/issues)

Copyright (c) 2014, Vitaly Pronkin <[email protected]>
Copyright (c) 2014, Kyle McLamb <[email protected]>

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
Expand Down
File renamed without changes
Loading

0 comments on commit 97d77cd

Please sign in to comment.