Completely rewrote the scrapers, and added subforums for multi-subforum concurrent scraping

master
Zequez 2015-07-22 23:47:23 -03:00
parent 9719ee099c
commit cb3dbf264e
46 changed files with 5200 additions and 5693 deletions

View File

@ -58,6 +58,7 @@ gem 'cancancan' # Authorization adapter
#######################
gem 'reverse_markdown'
gem 'nokogiri' # To parse HTML, for the scraper
gem 'typhoeus' # Concurrent HTTP requests handler
# Testing
#######################
@ -75,6 +76,8 @@ group :development, :test do
gem 'factory_girl_rails' # Models factories for Rspec
gem 'forgery' # Create random text for testing, like lorem ipsum or random names
gem 'capybara'
gem 'rspec-its'
gem 'rspec-mocks'
end
group :test do

View File

@ -116,6 +116,8 @@ GEM
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
erubis (2.7.0)
ethon (0.7.4)
ffi (>= 1.3.0)
eventmachine (1.0.7)
execjs (2.5.2)
factory_girl (4.5.0)
@ -269,6 +271,9 @@ GEM
rspec-expectations (3.3.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.3.0)
rspec-its (1.2.0)
rspec-core (>= 3.0.0)
rspec-expectations (>= 3.0.0)
rspec-mocks (3.3.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.3.0)
@ -321,6 +326,8 @@ GEM
tilt (1.4.1)
turbolinks (2.5.3)
coffee-rails
typhoeus (0.7.2)
ethon (>= 0.7.4)
tzinfo (1.2.2)
thread_safe (~> 0.1)
uglifier (2.7.1)
@ -375,6 +382,8 @@ DEPENDENCIES
rails_12factor
redcarpet
reverse_markdown
rspec-its
rspec-mocks
rspec-rails
sass (~> 3.4.0)
sass-rails
@ -383,6 +392,7 @@ DEPENDENCIES
spring-commands-rspec
susy (~> 2.0)
turbolinks
typhoeus
tzinfo-data
uglifier (>= 1.3.0)
unicorn

View File

@ -9,15 +9,14 @@ ActiveAdmin.register ForumPost do
:title_changed, :not_a_mod, :mod_id
controller do
def scoped_collection
ForumPost.includes(:mod)
ForumPost.includes(:mod, :subforum)
end
end
collection_action :scrap, method: :post do
scraper = ForumPostsScraper.new
posts = scraper.scrap
manager = Scraper::SubforumManager.new Subforum.for_scraping
ForumPost.transaction do
posts.each(&:save!)
manager.run
end
render json: {}
end
@ -56,8 +55,7 @@ ActiveAdmin.register ForumPost do
filter :not_a_mod
index do
selectable_column
id_column
column(:subforum) { |p| link_to(p.subforum.name, [:edit, :admin, p.subforum]) if p.subforum }
column :post_number, sortable: :post_number do |post|
link_to post.post_number, post.url
@ -67,12 +65,10 @@ ActiveAdmin.register ForumPost do
link_to post.title, post.url
end
column :published_at, sortable: :published_at do |post|
span distance_of_time_in_words_to_now(post.published_at), title: post.published_at
end
column :last_post_at, sortable: :last_post_at do |post|
span distance_of_time_in_words_to_now(post.last_post_at), title: post.last_post_at
[:published_at, :last_post_at, :created_at, :updated_at].each do |time_column|
column time_column, sortable: time_column do |post|
span distance_of_time_in_words_to_now(post[time_column]), title: post[time_column]
end
end
column :comments_count

34
app/admin/subforum.rb Normal file
View File

@ -0,0 +1,34 @@
ActiveAdmin.register Subforum do
config.filters = false
permit_params :url, :name, :game_version_id, :scrap, :number
before_save do |subforum|
subforum.scrap_itself
end
controller do
def scoped_collection
Subforum.includes(:game_version)
end
end
index do
column :id
column :number
column :name
column(:url){ |s| link_to s.url, s.url }
column(:game_version){ |s| s.game_version.number }
column :scrap
actions
end
form do |f|
f.inputs do
f.input :url
f.input :game_version
f.input :scrap
end
f.actions
end
end

View File

@ -67,11 +67,16 @@ class ModsController < ApplicationController
@mod.authors_list = forum_post.author_name
@mod.forum_url = forum_post.url
if forum_post.published_at
mod_version.released_at = forum_post.published_at
end
scraper = ForumPostScraper.new forum_post
scraper.scrap
if forum_post.subforum and forum_post.subforum.game_version
mod_version.game_versions = [forum_post.subforum.game_version]
end
# scraper = ForumPostScraper.new forum_post
# scraper.scrap
# @mod.description = forum_post.markdown_content
end

View File

@ -1,5 +1,6 @@
class ForumPost < ActiveRecord::Base
belongs_to :mod
belongs_to :subforum, counter_cache: true
scope :sort_by_newer_to_older, ->{ order('last_post_at desc') }
scope :for_mod_creation, ->{ where(mod: nil, not_a_mod: false) }
@ -10,4 +11,9 @@ class ForumPost < ActiveRecord::Base
def markdown_content
@markdown_content ||= ReverseMarkdown.convert content
end
def title=(val)
self.title_changed = title_was != val
super(val)
end
end

View File

@ -92,7 +92,6 @@ class Mod < ActiveRecord::Base
before_save do
if forum_url_changed?
self.forum_post = ForumPost.find_by_url(forum_url)
# self.forum_posts << forum_post
end
end

27
app/models/subforum.rb Normal file
View File

@ -0,0 +1,27 @@
require 'typhoeus'
require 'nokogiri'
class Subforum < ActiveRecord::Base
belongs_to :game_version
has_many :forum_posts
scope :for_scraping, ->{ where(scrap: true) }
validates :number, presence: true
validates :url, presence: true
def url=(val)
if val.kind_of? String
match = val.match(/f=([0-9]+)/)
self.number = match ? match[1].to_i : nil
else
self.number = nil
end
super(val)
end
def scrap_itself
doc = Nokogiri::HTML(Typhoeus.get(url).body)
self.name = doc.search('#page-body > h2 a').text
end
end

View File

@ -0,0 +1,10 @@
class CreateSubforums < ActiveRecord::Migration
def change
create_table :subforums do |t|
t.string :url
t.string :name, default: '', null: false
t.references :game_version, index: true
t.boolean :scrap
end
end
end

View File

@ -0,0 +1,5 @@
class AddNumberToSubforums < ActiveRecord::Migration
def change
add_column :subforums, :number, :integer
end
end

View File

@ -0,0 +1,5 @@
class AddSubforumIdToForumPost < ActiveRecord::Migration
def change
add_reference :forum_posts, :subforum, index: true
end
end

View File

@ -0,0 +1,5 @@
class AddDefaultTitleChangedToForumPosts < ActiveRecord::Migration
def change
change_column :forum_posts, :title_changed, :boolean, default: true, null: false
end
end

View File

@ -0,0 +1,5 @@
class AddForumPostsCountToSubforums < ActiveRecord::Migration
def change
add_column :subforums, :forum_posts_count, :integer
end
end

View File

@ -0,0 +1,5 @@
class AddLastScrapAtToSubforums < ActiveRecord::Migration
def change
add_column :subforums, :last_scrap_at, :datetime
end
end

View File

@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20150721162608) do
ActiveRecord::Schema.define(version: 20150722233819) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -91,12 +91,14 @@ ActiveRecord::Schema.define(version: 20150721162608) do
t.datetime "edited_at"
t.integer "mod_id"
t.integer "post_number"
t.boolean "title_changed"
t.boolean "title_changed", default: true, null: false
t.boolean "not_a_mod", default: false
t.integer "subforum_id"
end
add_index "forum_posts", ["mod_id"], name: "index_forum_posts_on_mod_id", using: :btree
add_index "forum_posts", ["post_number"], name: "index_forum_posts_on_post_number", using: :btree
add_index "forum_posts", ["subforum_id"], name: "index_forum_posts_on_subforum_id", using: :btree
create_table "game_versions", force: true do |t|
t.string "number"
@ -233,6 +235,18 @@ ActiveRecord::Schema.define(version: 20150721162608) do
t.datetime "created_at"
end
create_table "subforums", force: true do |t|
t.string "url"
t.string "name"
t.integer "game_version_id"
t.boolean "scrap"
t.integer "number"
t.integer "forum_posts_count"
t.datetime "last_scrap_at"
end
add_index "subforums", ["game_version_id"], name: "index_subforums_on_game_version_id", using: :btree
create_table "tags", force: true do |t|
t.string "name"
t.integer "mods_count", default: 0, null: false

View File

@ -1,26 +0,0 @@
require 'net/http'
require 'nokogiri'
class ForumPostScraper < Scraper::Base
def initialize(forum_post)
@forum_post = forum_post
super()
end
def scrap
page = get_next_page
@forum_post.content = page.doc.search('.content').first.children.to_s
@forum_post
end
def page_base(number)
@forum_post.url
end
def next_page_url_from_dom
nil
end
end

View File

@ -1,75 +0,0 @@
require 'net/http'
require 'nokogiri'
class ForumPostsScraper < Scraper::Base
def scrap
array = []
while page = get_next_page
### UTC
utc_string = page.doc.search('.navbar .linklist .rightside').text.match(/are\s*(.*)\s*(hours)?\s*$/)[1]
utc_string.gsub!(' ', '')
page.doc.search('.forumbg:not(.announcement) .row').each do |row|
### Post Number
post_number = row.search('dt a[href^="./viewtopic"]').attribute('href').value.match(/t=([0-9]+)/)[1].to_i
### Find the post or create if it doesn't exist
post = ForumPost.find_or_create_by(post_number: post_number)
### Title
title = row.search('.topictitle').text
post.title_changed = post.title != title if not post.title_changed
post.title = title
### Published Date At
date_string = row.search('dl dt').text.match(/»\s*(.+)\s*$/)[1]
date_string += " #{utc_string}"
post.published_at = DateTime.parse date_string
### Last Post At
date_string = row.search('.lastpost span').text.match(/\s{2,}(.+)$/m)[1]
date_string += " #{utc_string}"
post.last_post_at = DateTime.parse date_string
### Views Count
post.views_count = row.search('.views').text.to_i
### Comments Count
post.comments_count = row.search('.posts').text.to_i
### Author Name
post.author_name = row.search('dt a[href^="./memberlist"]').text.strip
### URL
post.url = page_post post.post_number
### Edited At
# TODO: Gotta check inside the post
array.push post
end
end
array
end
private
def page_post(post_id)
"http://www.factorioforums.com/forum/viewtopic.php?f=14&t=#{post_id}"
end
def page_base(page_number)
page_number = page_number.kind_of?(String) ? page_number : page_number * 25
"http://www.factorioforums.com/forum/viewforum.php?f=87&start=#{page_number}"
end
def next_page_url_from_dom(page)
link = page.doc.search('.display-options .right-box.right').first
if link
number = link.attribute('href').value.match(/start=([0-9]+)/)[1]
page_base number.to_s
else
nil
end
end
end

View File

@ -1,8 +1,4 @@
module Scraper
class NoServerConnection < StandardError; end
class InvalidGame < StandardError; end
class InvalidReview < StandardError; end
class TooManyRedirects < StandardError; end
class UnexpectedResponse < StandardError; end
class UnexpectedURI < StandardError; end
class NoPageProcessorFoundError < StandardError; end
class InvalidProcessorError < StandardError; end
end

View File

@ -1,40 +1,62 @@
require 'typhoeus'
require 'nokogiri'
module Scraper
class Base
def initialize
@current_page_number = -1
@current_page = nil
@@processors = []
def self.register_processor(processor_class)
unless processor_class.kind_of?(Class) and processor_class.ancestors.include? Scraper::BaseProcessor
raise InvalidProcessorError
end
@@processors.push processor_class
end
def page_base(page_number)
''
def initialize(initial_url)
@multi_urls = initial_url.kind_of? Array
@initial_urls = @multi_urls ? initial_url : [initial_url]
@hydra = Typhoeus::Hydra.hydra
@urls_queued = []
end
def get_next_page
url = next_page_url(@current_page)
@last_page = @current_page
if url
page = Page.new(url)
@current_page = page.is_end_page? ? nil : page
def scrap
@data = {}
@initial_urls.each do |initial_url|
@data[initial_url] = []
add_to_queue initial_url, initial_url
end
@hydra.run
@multi_urls ? @data : @data.values.first
end
def process_page(doc, request, response)
end
def process_response(response, initial_url)
document = Nokogiri::HTML(response.body)
processor_class = @@processors.detect{ |processor_class| processor_class.regexp.match response.request.url }
if processor_class
processor = processor_class.new(document, response.request, response, self, initial_url)
@data[initial_url].method(processor_class.addition_method).call processor.process_page
else
@current_page = nil
raise NoPageProcessorFoundError
end
end
def next_page_url(page = nil)
if page
next_page_url_from_dom(page)
# Find it in the DOM
else
next_page_url_from_number
def add_to_queue(url, initial_url)
request = Typhoeus::Request.new(url)
request.on_complete do |response|
process_response response, initial_url
end
@urls_queued << url
@hydra.queue request
end
def next_page_url_from_number
page_base @current_page_number+1
end
def next_page_url_from_dom(current_page)
false
# Queue the URL unless we already queued it before
def add_to_queue_unless_there(url, initial_url)
unless @urls_queued.include? url
add_to_queue(url, initial_url)
end
end
end
end

View File

@ -0,0 +1,31 @@
class Scraper::BaseProcessor
def initialize(doc, request, response, scraper, initial_url)
@data = nil
@doc = doc
@request = request
@response = response
@scraper = scraper
@initial_url = initial_url
end
attr_accessor :data
def process_page
end
def add_to_queue_unless_there(url)
@scraper.add_to_queue_unless_there(url, @initial_url)
end
def add_to_queue(url)
@scraper.add_to_queue(url, @initial_url)
end
def self.regexp(value = nil)
(@regexp = value if value) || @regexp || /(?!)/
end
def self.addition_method(value = nil)
(@addition_method = value if value) || @addition_method || :push
end
end

View File

@ -1,69 +0,0 @@
module Scraper
class Page
attr_reader :response
attr_reader :url
def initialize(url)
@url = url
end
def uri
@uri ||= URI url
end
def raw
@raw ||= get_page
end
def doc
@doc ||= (raw == -1) ? nil : Nokogiri::HTML(raw)
end
def add_cookies(name, value)
@cookies ||= []
@cookies.push [name, value]
end
def is_end_page?
false
end
private
def get_page(redirects_limit = 10, retries_limit = 10)
raise TooManyRedirects if redirects_limit == 0
raise NoServerConnection if retries_limit == 0
begin
uri = URI url
raise UnexpectedURI unless uri.respond_to?(:request_uri)
request = Net::HTTP::Get.new(uri)
request.add_field 'Cookie', @cookies.map{|a|a.join('=')}.join('; ') unless @cookies.blank?
response = Net::HTTP.new(uri.host, uri.port).start do |http|
http.request(request)
end
rescue Errno::ETIMEDOUT, Timeout::Error => e
seconds = 10 + (10 - retries_limit)*3
sleep seconds unless Rails.env.test?
return get_page(url, redirects_limit, retries_limit - 1)
end
@response = response
case response
when Net::HTTPSuccess then response.body
when Net::HTTPRedirection then
# TODO: Think of something better
if response['location'] =~ /\/app\//
get_page(response['location'], redirects_limit - 1, retries_limit)
else
return -1
end
else
raise UnexpectedResponse
end
end
end
end

View File

@ -0,0 +1,3 @@
class Scraper::PostProcessor < Scraper::BaseProcessor
end

View File

@ -0,0 +1,36 @@
class Scraper::SubforumManager
def initialize(subforums)
@subforums = subforums
end
def run
@forum_posts = []
urls = @subforums.map(&:url)
scraper = Scraper::Base.new(urls)
posts_data = scraper.scrap
@subforums.each do |subforum|
subforum_posts_data = posts_data[subforum.url]
process_posts(subforum, subforum_posts_data)
end
end
def process_posts(subforum, posts_data)
forum_posts = posts_data.map do |post_data|
forum_post = ForumPost.find_or_initialize_by(post_number: post_data[:post_number])
forum_post.title = post_data[:title]
forum_post.published_at = post_data[:published_at]
forum_post.last_post_at = post_data[:last_post_at]
forum_post.views_count = post_data[:views_count]
forum_post.comments_count = post_data[:comments_count]
forum_post.author_name = post_data[:author_name]
forum_post.url = post_data[:url]
forum_post.subforum = subforum
forum_post.save! # This should never happen, as there are no validations. But if it happens, I want to know.
forum_post
end
subforum.update_column(:last_scrap_at, Time.now)
@forum_posts.concat(forum_posts)
end
end

View File

@ -0,0 +1,65 @@
class Scraper::SubforumProcessor < Scraper::BaseProcessor
Scraper::Base.register_processor(self)
addition_method :concat
regexp %r{\Ahttps?://(www\.)?factorioforums.com/forum/viewforum\.php\?f=[0-9]+(&start=[0-9]+)?\Z}
def process_page
posts = []
### UTC timezone
utc_string = @doc.search('.navbar .linklist .rightside').text.match(/are\s*(.*)\s*(hours)?\s*$/)[1]
utc_string.gsub!(' ', '')
@doc.search('.topiclist.topics .row:not(.sticky)').each do |row|
post = {}
### Title
post[:title] = row.search('.topictitle').text
### Published Date At
date_string = row.search('dl dt').text.match(/»\s*(.+)\s*$/)[1]
post[:published_at] = DateTime.parse(date_string + " #{utc_string}")
### Last Post At
date_string = row.search('.lastpost span').text.match(/\s{2,}(.+)$/m)[1]
post[:last_post_at] = DateTime.parse(date_string + " #{utc_string}")
### Views Count
post[:views_count] = row.search('.views').text.to_i
### Comments Count
post[:comments_count] = row.search('.posts').text.to_i
### Author Name
post[:author_name] = row.search('dt a[href^="./memberlist"]').text.strip
### URL
post[:url] = link_url row.search('.topictitle')
### Post number
post[:post_number] = URI::decode_www_form(URI(post[:url]).query).to_h['t'].to_i
posts << post
end
### Subforum pages
@doc.search('.pagination').first.search('span a').each do |a|
add_to_queue_unless_there link_url(a)
end
posts
end
private
# Extract the URL from the HREF of a link, and
# returns it as an absolute path
def link_url(a)
parse_url a.attribute('href').value
end
# We remove the session ID appended to the URL
# And then we return the absolute URL
def parse_url(relative_url)
URI.join(@request.url, relative_url.gsub(/&sid=[^&]+/, '')).to_s
end
end

View File

@ -0,0 +1,9 @@
FactoryGirl.define do
factory :subforum do
sequence(:url) { |n| "http://www.factorioforums.com/forum/viewforum.php?f=#{n}" }
sequence(:name) { |n| "Subforum #{n}" }
game_version nil
scrap true
sequence(:number) { |n| n }
end
end

View File

@ -188,19 +188,19 @@ feature 'Modder creates a new mod' do
scenario 'admin tries to create a mod from the forum_posts dashboard, so it has pre-filled attributes' do
sign_in_admin
released_at = 5.days.ago
game_version = create :game_version
subforum = create :subforum, game_version: game_version
forum_post = create :forum_post, title: '[0.11.x] Potato mod',
author_name: 'SuperGuy',
published_at: released_at,
author_name: 'SuperGuy',
published_at: released_at,
subforum: subforum,
url: 'http://www.factorioforums.com/forum/viewtopic.php?f=14&t=6742'
# We mock the forum post page here
mocked_page = File.read File.expand_path("../../fixtures/forum_post/basic_post.html", __FILE__)
stub_request(:get, forum_post.url).to_return body: mocked_page
visit "/mods/new?forum_post_id=#{forum_post.id}"
expect(find('#mod_name').value).to eq '[0.11.x] Potato mod'
expect(find('#mod_authors_list').value).to eq 'SuperGuy'
expect(find('#mod_forum_url').value).to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=14&t=6742'
expect(find('[id$=game_version_ids]').value).to eq [game_version.id.to_s]
expect(find('[id$=released_at]').value).to eq released_at.strftime('%Y-%m-%d')
end

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,647 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-gb" xml:lang="en-gb">
<head>
<link href='http://fonts.googleapis.com/css?family=Titillium+Web:400,600,700&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="content-language" content="en-gb" />
<meta http-equiv="imagetoolbar" content="no" />
<meta name="resource-type" content="document" />
<meta name="distribution" content="global" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<title>Forums &bull; View forum - Mods</title>
<link rel="alternate" type="application/atom+xml" title="Feed - Forums" href="http://www.factorioforums.com/forum/feed.php" /><link rel="alternate" type="application/atom+xml" title="Feed - New Topics" href="http://www.factorioforums.com/forum/feed.php?mode=topics" /><link rel="alternate" type="application/atom+xml" title="Feed - Forum - Mods" href="http://www.factorioforums.com/forum/feed.php?f=14" />
<!--
phpBB style name: Factorio
Based on style: prosilver (this is the default phpBB3 style)
Original author: Tom Beddard ( http://www.subBlue.com/ )
Modified by: Graphic Albert (http://www.Factorio.com)
-->
<script type="text/javascript">
// <![CDATA[
var jump_page = 'Enter the page number you wish to go to:';
var on_page = '5';
var per_page = '25';
var base_url = './viewforum.php?f=14';
var style_cookie = 'phpBBstyle';
var style_cookie_settings = '; path=/; domain=factorioforums.com';
var onload_functions = new Array();
var onunload_functions = new Array();
/**
* Find a member
*/
function find_username(url)
{
popup(url, 760, 570, '_usersearch');
return false;
}
/**
* New function for handling multiple calls to window.onload and window.unload by pentapenguin
*/
window.onload = function()
{
for (var i = 0; i < onload_functions.length; i++)
{
eval(onload_functions[i]);
}
};
window.onunload = function()
{
for (var i = 0; i < onunload_functions.length; i++)
{
eval(onunload_functions[i]);
}
};
// ]]>
</script>
<script type="text/javascript" src="./styles/prosilver/template/styleswitcher.js"></script>
<script type="text/javascript" src="./styles/prosilver/template/forum_fn.js"></script>
<link href="./styles/factorio/theme/print.css" rel="stylesheet" type="text/css" media="print" title="printonly" />
<link href="./style.php?id=4&amp;lang=en" rel="stylesheet" type="text/css" media="screen, projection" />
<link href="./styles/factorio/theme/normal.css" rel="stylesheet" type="text/css" title="A" />
<link href="./styles/factorio/theme/medium.css" rel="alternate stylesheet" type="text/css" title="A+" />
<link href="./styles/factorio/theme/large.css" rel="alternate stylesheet" type="text/css" title="A++" />
<script type="text/javascript"><!--
var spoiler_show = "[Reveal]";
var spoiler_hide = "[Obscure]";
//--></script>
<script type="text/javascript" src="./styles/factorio/template/prime_bbcode_spoiler.js"></script>
<link href="./styles/factorio/theme/prime_bbcode_spoiler.css" rel="stylesheet" type="text/css" />
</head>
<body id="phpbb" class="section-viewforum ltr">
<div id="wrap">
<a id="top" name="top" accesskey="t"></a>
<div id="page-header">
<div class="headerbar">
<div class="inner"><span class="corners-top"><span></span></span>
<div id="site-description">
<a href="./index.php" title="Board index" id="logo"><img src="./styles/factorio/imageset/factorio.png" width="625" height="110" alt="" title="" /></a>
<h1>Forums</h1>
<p>www.factorio.com</p>
<p class="skiplink"><a href="#start_here">Skip to content</a></p>
</div>
<div id="search-box">
<form action="./search.php" method="get" id="search">
<fieldset>
<input name="keywords" id="keywords" type="text" maxlength="128" title="Search for keywords" class="inputbox search" value="Search…" onclick="if(this.value=='Search…')this.value='';" onblur="if(this.value=='')this.value='Search…';" />
<input class="button2" value="Search" type="submit" /><br />
<a href="./search.php" title="View the advanced search options">Advanced search</a>
</fieldset>
</form>
</div>
<span class="corners-bottom"><span></span></span></div>
</div>
<div class="navbar">
<div class="inner"><span class="corners-top"><span></span></span>
<ul class="linklist navlinks">
<li class="icon-home"><a href="./index.php" accesskey="h">Board index</a> <strong>&#8249;</strong> <a href="./viewforum.php?f=10">Contributions</a> <strong>&#8249;</strong> <a href="./viewforum.php?f=14">Mods</a></li>
<li class="rightside"><a href="#" onclick="fontsizeup(); return false;" onkeypress="return fontsizeup(event);" class="fontsize" title="Change font size">Change font size</a></li>
</ul>
<ul class="linklist leftside">
<li class="icon-ucp">
<a href="./ucp.php" title="User Control Panel" accesskey="e">User Control Panel</a>
(<a href="./ucp.php?i=pm&amp;folder=inbox"><strong>0</strong> new messages</a>) &bull;
<a href="./search.php?search_id=egosearch">View your posts</a>
</li>
</ul>
<ul class="linklist rightside">
<li class="icon-faq"><a href="./faq.php" title="Frequently Asked Questions">FAQ</a></li>
<li class="icon-members"><a href="./memberlist.php" title="View complete list of members">Members</a></li>
<li class="icon-logout"><a href="./ucp.php?mode=logout&amp;sid=7420f2c130acc17f2c30599a86c505c8" title="Logout [ Zequez ]" accesskey="x">Logout [ Zequez ]</a></li>
</ul>
<span class="corners-bottom"><span></span></span></div>
</div>
</div>
<a name="start_here"></a>
<div id="page-body">
<h2><a href="./viewforum.php?f=14&amp;start=100">Mods</a></h2>
<div>
<!-- NOTE: remove the style="display: none" when you want to have the forum description on the forum body --><div style="display: none !important;">Current mods and mod development.<br /></div>
</div>
<ul class="linklist">
<li class="rightside"><a href="./viewforum.php?hash=2067b57b&amp;f=14&amp;mark=forums">Mark subforums read</a></li>
</ul>
<div class="forabg">
<div class="inner"><span class="corners-top"><span></span></span>
<ul class="topiclist">
<li class="header">
<dl class="icon">
<dt>Forum</dt>
<dd class="topics">Topics</dd>
<dd class="posts">Posts</dd>
<dd class="lastpost"><span>Last post</span></dd>
</dl>
</li>
</ul>
<ul class="topiclist forums">
<li class="row">
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
<dt title="Unread posts">
<!-- <a class="feed-icon-forum" title="Feed - Modding discussion" href="http://www.factorioforums.com/forum/feed.php?f=34"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - Modding discussion" /></a> -->
<a href="./viewforum.php?f=34" class="forumtitle">Modding discussion</a><br />
Place to post guides, observations, things related to modding that are not mods themselves.
</dt>
<dd class="topics">28 <dfn>Topics</dfn></dd>
<dd class="posts">205 <dfn>Posts</dfn></dd>
<dd class="lastpost"><span>
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&amp;u=1693">bobingabout</a>
<a href="./viewtopic.php?f=34&amp;p=40360#p40360"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Thu Aug 07, 2014 4:15 pm</span>
</dd>
</dl>
</li>
<li class="row">
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
<dt title="Unread posts">
<!-- <a class="feed-icon-forum" title="Feed - Modding help" href="http://www.factorioforums.com/forum/feed.php?f=25"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - Modding help" /></a> -->
<a href="./viewforum.php?f=25" class="forumtitle">Modding help</a><br />
Place to get help with not working mods / modding interface.
</dt>
<dd class="topics">325 <dfn>Topics</dfn></dd>
<dd class="posts">2039 <dfn>Posts</dfn></dd>
<dd class="lastpost"><span>
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&amp;u=147">FreeER</a>
<a href="./viewtopic.php?f=25&amp;p=40794#p40794"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Sun Aug 10, 2014 4:01 pm</span>
</dd>
</dl>
</li>
<li class="row">
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
<dt title="Unread posts">
<!-- <a class="feed-icon-forum" title="Feed - Work In Progress Mods" href="http://www.factorioforums.com/forum/feed.php?f=32"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - Work In Progress Mods" /></a> -->
<a href="./viewforum.php?f=32" class="forumtitle">Work In Progress Mods</a><br />
Place for concepts / mods that are in development / obsolete mods not working with latest Factorio version.
</dt>
<dd class="topics">44 <dfn>Topics</dfn></dd>
<dd class="posts">671 <dfn>Posts</dfn></dd>
<dd class="lastpost"><span>
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&amp;u=1209">y.petremann</a>
<a href="./viewtopic.php?f=32&amp;p=40472#p40472"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Fri Aug 08, 2014 12:05 pm</span>
</dd>
</dl>
</li>
<li class="row">
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
<dt title="Unread posts">
<!-- <a class="feed-icon-forum" title="Feed - Ideas and Requests For Mods" href="http://www.factorioforums.com/forum/feed.php?f=33"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - Ideas and Requests For Mods" /></a> -->
<a href="./viewforum.php?f=33" class="forumtitle">Ideas and Requests For Mods</a><br />
This is the place to request new mods or give ideas about what could be done.
</dt>
<dd class="topics">95 <dfn>Topics</dfn></dd>
<dd class="posts">404 <dfn>Posts</dfn></dd>
<dd class="lastpost"><span>
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&amp;u=507">ssilk</a>
<a href="./viewtopic.php?f=33&amp;p=40865#p40865"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Mon Aug 11, 2014 6:04 am</span>
</dd>
</dl>
</li>
<li class="row">
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
<dt title="Unread posts">
<!-- <a class="feed-icon-forum" title="Feed - Modding interface requests" href="http://www.factorioforums.com/forum/feed.php?f=28"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - Modding interface requests" /></a> -->
<a href="./viewforum.php?f=28" class="forumtitle">Modding interface requests</a><br />
Place to ask discuss and request the modding support of Factorio. Don't request mods here.
</dt>
<dd class="topics">98 <dfn>Topics</dfn></dd>
<dd class="posts">432 <dfn>Posts</dfn></dd>
<dd class="lastpost"><span>
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&amp;u=3005">JLBShecky</a>
<a href="./viewtopic.php?f=28&amp;p=40890#p40890"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Mon Aug 11, 2014 11:30 am</span>
</dd>
</dl>
</li>
<li class="row">
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
<dt title="Unread posts">
<!-- <a class="feed-icon-forum" title="Feed - Obsolete mods" href="http://www.factorioforums.com/forum/feed.php?f=40"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - Obsolete mods" /></a> -->
<a href="./viewforum.php?f=40" class="forumtitle">Obsolete mods</a><br />
Mods that haven't been updated for a long time so they are not compatible with recent versions, or mods that are no longer needed as their function is obsolete because of the Factorio changes.
</dt>
<dd class="topics">6 <dfn>Topics</dfn></dd>
<dd class="posts">77 <dfn>Posts</dfn></dd>
<dd class="lastpost"><span>
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&amp;u=1693">bobingabout</a>
<a href="./viewtopic.php?f=40&amp;p=39756#p39756"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Sun Aug 03, 2014 11:33 pm</span>
</dd>
</dl>
</li>
</ul>
<span class="corners-bottom"><span></span></span></div>
</div>
<div class="forabg">
<div class="inner"><span class="corners-top"><span></span></span>
<ul class="topiclist">
<li class="header">
<dl class="icon">
<dt><a href="./viewforum.php?f=42">Big mods</a></dt>
<dd class="topics">Topics</dd>
<dd class="posts">Posts</dd>
<dd class="lastpost"><span>Last post</span></dd>
</dl>
</li>
</ul>
<ul class="topiclist forums">
<li class="row">
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
<dt title="Unread posts">
<!-- <a class="feed-icon-forum" title="Feed - DyTech" href="http://www.factorioforums.com/forum/feed.php?f=43"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - DyTech" /></a> -->
<a href="./viewforum.php?f=43" class="forumtitle">DyTech</a><br />
A mod that extends some machines of the base game, but adds alot more then that.<br />DyTech is an Endgame mod! And VERY Hard with the newly added Biters!
<br /><strong>Moderator:</strong> <a href="./memberlist.php?mode=viewprofile&amp;u=732">Dysoch</a>
</dt>
<dd class="topics">53 <dfn>Topics</dfn></dd>
<dd class="posts">1839 <dfn>Posts</dfn></dd>
<dd class="lastpost"><span>
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&amp;u=3335">Undecided</a>
<a href="./viewtopic.php?f=43&amp;p=40892#p40892"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Mon Aug 11, 2014 11:44 am</span>
</dd>
</dl>
</li>
<li class="row">
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
<dt title="Unread posts">
<!-- <a class="feed-icon-forum" title="Feed - Treefarm" href="http://www.factorioforums.com/forum/feed.php?f=44"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - Treefarm" /></a> -->
<a href="./viewforum.php?f=44" class="forumtitle">Treefarm</a><br />
Adds a Treefarm, coal-processing and a production-chain for organic plastic.
<br /><strong>Moderator:</strong> <a href="./memberlist.php?mode=viewprofile&amp;u=377">drs9999</a>
</dt>
<dd class="topics">9 <dfn>Topics</dfn></dd>
<dd class="posts">361 <dfn>Posts</dfn></dd>
<dd class="lastpost"><span>
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&amp;u=377">drs9999</a>
<a href="./viewtopic.php?f=44&amp;p=40899#p40899"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Mon Aug 11, 2014 12:52 pm</span>
</dd>
</dl>
</li>
<li class="row">
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
<dt title="Unread posts">
<!-- <a class="feed-icon-forum" title="Feed - F mod" href="http://www.factorioforums.com/forum/feed.php?f=45"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - F mod" /></a> -->
<a href="./viewforum.php?f=45" class="forumtitle">F mod</a><br />
Underground mining drills and more!
<br /><strong>Moderator:</strong> <a href="./memberlist.php?mode=viewprofile&amp;u=219">ficolas</a>
</dt>
<dd class="topics">6 <dfn>Topics</dfn></dd>
<dd class="posts">728 <dfn>Posts</dfn></dd>
<dd class="lastpost"><span>
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&amp;u=923">L0771</a>
<a href="./viewtopic.php?f=45&amp;p=40337#p40337"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Thu Aug 07, 2014 2:24 pm</span>
</dd>
</dl>
</li>
<li class="row">
<dl class="icon" style="background-image: url(./styles/factorio/imageset/forum_unread.png); background-repeat: no-repeat;">
<dt title="Unread posts">
<!-- <a class="feed-icon-forum" title="Feed - Test mode" href="http://www.factorioforums.com/forum/feed.php?f=46"><img src="./styles/factorio/theme/images/feed.gif" alt="Feed - Test mode" /></a> -->
<a href="./viewforum.php?f=46" class="forumtitle">Test mode</a><br />
Kind of like creative mode.
</dt>
<dd class="topics">4 <dfn>Topics</dfn></dd>
<dd class="posts">123 <dfn>Posts</dfn></dd>
<dd class="lastpost"><span>
<dfn>Last post</dfn> by <a href="./memberlist.php?mode=viewprofile&amp;u=147">FreeER</a>
<a href="./viewtopic.php?f=46&amp;p=36468#p36468"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Fri Jul 11, 2014 8:40 am</span>
</dd>
</dl>
</li>
</ul>
<span class="corners-bottom"><span></span></span></div>
</div>
<div class="topic-actions" style="margin-top: 2em;">
<div class="buttons">
<div class="post-icon" title="Post a new topic"><a href="./posting.php?mode=post&amp;f=14"><span></span>Post a new topic</a></div>
</div>
<div class="search-box">
<form method="get" id="forum-search" action="./search.php">
<fieldset>
<input class="inputbox search tiny" type="text" name="keywords" id="search_keywords" size="20" value="Search this forum…" onclick="if (this.value == 'Search this forum…') this.value = '';" onblur="if (this.value == '') this.value = 'Search this forum…';" />
<input class="button2" type="submit" value="Search" />
<input type="hidden" name="fid[0]" value="14" />
</fieldset>
</form>
</div>
<div class="pagination">
<a href="./viewforum.php?hash=2067b57b&amp;f=14&amp;mark=topics" accesskey="m">Mark topics read</a> &bull; 102 topics &bull; <a href="#" onclick="jumpto(); return false;" title="Click to jump to page…">Page <strong>5</strong> of <strong>5</strong></a> &bull; <span><a href="./viewforum.php?f=14">1</a><span class="page-sep">, </span><a href="./viewforum.php?f=14&amp;start=25">2</a><span class="page-sep">, </span><a href="./viewforum.php?f=14&amp;start=50">3</a><span class="page-sep">, </span><a href="./viewforum.php?f=14&amp;start=75">4</a><span class="page-sep">, </span><strong>5</strong></span>
</div>
</div>
<div class="forumbg announcement">
<div class="inner"><span class="corners-top"><span></span></span>
<ul class="topiclist">
<li class="header">
<dl class="icon">
<dt>Announcements</dt>
<dd class="posts">Replies</dd>
<dd class="views">Views</dd>
<dd class="lastpost"><span>Last post</span></dd>
</dl>
</li>
</ul>
<ul class="topiclist topics">
<li class="row bg1 announce">
<dl class="icon" style="background-image: url(./styles/factorio/imageset/announce_read.png); background-repeat: no-repeat;">
<dt title="No unread posts"><a href="./viewtopic.php?f=14&amp;t=947" class="topictitle">Mod forum rules</a>
<br />
by <a href="./memberlist.php?mode=viewprofile&amp;u=54">slpwnd</a> &raquo; Tue Jun 11, 2013 9:16 am
</dt>
<dd class="posts">0 <dfn>Replies</dfn></dd>
<dd class="views">996 <dfn>Views</dfn></dd>
<dd class="lastpost"><span><dfn>Last post </dfn>by <a href="./memberlist.php?mode=viewprofile&amp;u=54">slpwnd</a>
<a href="./viewtopic.php?f=14&amp;t=947&amp;p=6590#p6590"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Tue Jun 11, 2013 9:16 am</span>
</dd>
</dl>
</li>
</ul>
<span class="corners-bottom"><span></span></span></div>
</div>
<div class="forumbg">
<div class="inner"><span class="corners-top"><span></span></span>
<ul class="topiclist">
<li class="header">
<dl class="icon">
<dt>Topics</dt>
<dd class="posts">Replies</dd>
<dd class="views">Views</dd>
<dd class="lastpost"><span>Last post</span></dd>
</dl>
</li>
</ul>
<ul class="topiclist topics">
<li class="row bg2">
<dl class="icon" style="background-image: url(./styles/factorio/imageset/topic_read.png); background-repeat: no-repeat;">
<dt title="No unread posts"><a href="./viewtopic.php?f=14&amp;t=195" class="topictitle">[MOD 0.2.7] Explosive Bullet Magazine Mod</a>
<br />
by <a href="./memberlist.php?mode=viewprofile&amp;u=84">Poiasdope</a> &raquo; Thu Feb 21, 2013 12:58 am
</dt>
<dd class="posts">9 <dfn>Replies</dfn></dd>
<dd class="views">1503 <dfn>Views</dfn></dd>
<dd class="lastpost"><span><dfn>Last post </dfn>by <a href="./memberlist.php?mode=viewprofile&amp;u=66">NatLaTomate</a>
<a href="./viewtopic.php?f=14&amp;t=195&amp;p=1076#p1076"><img src="./styles/factorio/imageset/icon_topic_latest.png" width="16" height="16" alt="View the latest post" title="View the latest post" /></a> <br />Fri Feb 22, 2013 1:49 pm</span>
</dd>
</dl>
</li>
</ul>
<span class="corners-bottom"><span></span></span></div>
</div>
<form method="post" action="./viewforum.php?f=14&amp;start=100">
<fieldset class="display-options">
<a href="./viewforum.php?f=14&amp;start=75" class="left-box left">Previous</a>
<label>Display topics from previous: <select name="st" id="st"><option value="0" selected="selected">All Topics</option><option value="1">1 day</option><option value="7">7 days</option><option value="14">2 weeks</option><option value="30">1 month</option><option value="90">3 months</option><option value="180">6 months</option><option value="365">1 year</option></select></label>
<label>Sort by <select name="sk" id="sk"><option value="a">Author</option><option value="t" selected="selected">Post time</option><option value="r">Replies</option><option value="s">Subject</option><option value="v">Views</option></select></label>
<label><select name="sd" id="sd"><option value="a">Ascending</option><option value="d" selected="selected">Descending</option></select> <input type="submit" name="sort" value="Go" class="button2" /></label>
</fieldset>
</form>
<hr />
<div class="topic-actions">
<div class="buttons">
<div class="post-icon" title="Post a new topic"><a href="./posting.php?mode=post&amp;f=14"><span></span>Post a new topic</a></div>
</div>
<div class="pagination">
<a href="./viewforum.php?hash=2067b57b&amp;f=14&amp;mark=topics">Mark topics read</a> &bull; 102 topics &bull; <a href="#" onclick="jumpto(); return false;" title="Click to jump to page…">Page <strong>5</strong> of <strong>5</strong></a>
&bull; <span><a href="./viewforum.php?f=14">1</a><span class="page-sep">, </span><a href="./viewforum.php?f=14&amp;start=25">2</a><span class="page-sep">, </span><a href="./viewforum.php?f=14&amp;start=50">3</a><span class="page-sep">, </span><a href="./viewforum.php?f=14&amp;start=75">4</a><span class="page-sep">, </span><strong>5</strong></span>
</div>
</div>
<p></p><p><a href="./index.php" class="left-box left" accesskey="r">Return to Board index</a></p>
<form method="post" id="jumpbox" action="./viewforum.php" onsubmit="if(this.f.value == -1){return false;}">
<fieldset class="jumpbox">
<label for="f" accesskey="j">Jump to:</label>
<select name="f" id="f" onchange="if(this.options[this.selectedIndex].value != -1){ document.forms['jumpbox'].submit() }">
<option value="-1">Select a forum</option>
<option value="-1">------------------</option>
<option value="21">General</option>
<option value="3">&nbsp; &nbsp;News</option>
<option value="38">&nbsp; &nbsp;Updates</option>
<option value="5">&nbsp; &nbsp;General discussion</option>
<option value="8">&nbsp; &nbsp;Show your Creations</option>
<option value="19">&nbsp; &nbsp;Spread the Word</option>
<option value="27">&nbsp; &nbsp;Off topic</option>
<option value="17">Support</option>
<option value="18">&nbsp; &nbsp;Gameplay Help</option>
<option value="49">&nbsp; &nbsp;Technical Help</option>
<option value="7">&nbsp; &nbsp;Bug Reports</option>
<option value="11">&nbsp; &nbsp;&nbsp; &nbsp;Resolved Problems and Bugs</option>
<option value="30">&nbsp; &nbsp;&nbsp; &nbsp;Resolved for the next release</option>
<option value="23">&nbsp; &nbsp;&nbsp; &nbsp;Not a bug</option>
<option value="29">&nbsp; &nbsp;&nbsp; &nbsp;Pending</option>
<option value="35">&nbsp; &nbsp;&nbsp; &nbsp;1 / 0 magic</option>
<option value="41">&nbsp; &nbsp;&nbsp; &nbsp;Known issues</option>
<option value="47">&nbsp; &nbsp;&nbsp; &nbsp;Duplicates</option>
<option value="48">&nbsp; &nbsp;&nbsp; &nbsp;Minor issues</option>
<option value="20">Factorio Direction</option>
<option value="9">&nbsp; &nbsp;Development Proposals</option>
<option value="6">&nbsp; &nbsp;Ideas and Suggestions</option>
<option value="16">&nbsp; &nbsp;Balancing</option>
<option value="10">Contributions</option>
<option value="14" selected="selected">&nbsp; &nbsp;Mods</option>
<option value="34">&nbsp; &nbsp;&nbsp; &nbsp;Modding discussion</option>
<option value="25">&nbsp; &nbsp;&nbsp; &nbsp;Modding help</option>
<option value="32">&nbsp; &nbsp;&nbsp; &nbsp;Work In Progress Mods</option>
<option value="33">&nbsp; &nbsp;&nbsp; &nbsp;Ideas and Requests For Mods</option>
<option value="28">&nbsp; &nbsp;&nbsp; &nbsp;Modding interface requests</option>
<option value="40">&nbsp; &nbsp;&nbsp; &nbsp;Obsolete mods</option>
<option value="42">&nbsp; &nbsp;&nbsp; &nbsp;Big mods</option>
<option value="43">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;DyTech</option>
<option value="44">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Treefarm</option>
<option value="45">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;F mod</option>
<option value="46">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Test mode</option>
<option value="36">&nbsp; &nbsp;Maps and Scenarios</option>
<option value="12">&nbsp; &nbsp;Translations</option>
<option value="15">&nbsp; &nbsp;Texture Packs</option>
<option value="50">&nbsp; &nbsp;Wiki Talk</option>
</select>
<input type="submit" value="Go" class="button2" />
</fieldset>
</form>
<h3><a href="./viewonline.php">Who is online</a></h3>
<p>Users browsing this forum: <span style="color: #9E8DA7;" class="username-coloured">Bing [Bot]</span>, <a href="./memberlist.php?mode=viewprofile&amp;u=1553">Zequez</a> and 6 guests</p>
<h3>Forum permissions</h3>
<p>You <strong>can</strong> post new topics in this forum<br />You <strong>can</strong> reply to topics in this forum<br />You <strong>can</strong> edit your posts in this forum<br />You <strong>can</strong> delete your posts in this forum<br />You <strong>can</strong> post attachments in this forum<br /></p>
</div>
<div id="page-footer">
<div class="navbar">
<div class="inner"><span class="corners-top"><span></span></span>
<ul class="linklist">
<li class="icon-home"><a href="./index.php" accesskey="h">Board index</a></li>
<li class="icon-subscribe"><a href="./viewforum.php?uid=1553&amp;f=14&amp;watch=forum&amp;start=100&amp;hash=d2425fcc" title="Subscribe forum">Subscribe forum</a></li>
<li class="rightside"><a href="./memberlist.php?mode=leaders">The team</a> &bull; <a href="./ucp.php?mode=delete_cookies">Delete all board cookies</a> &bull; All times are UTC - 3 hours </li>
</ul>
<span class="corners-bottom"><span></span></span></div>
</div>
<div class="copyright">Powered by <a href="http://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Group
</div>
</div>
</div>
<div>
<a id="bottom" name="bottom" accesskey="z"></a>
</div>
</body>
</html>

View File

@ -1,513 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-gb" xml:lang="en-gb">
<head>
<link href='http://fonts.googleapis.com/css?family=Titillium+Web:400,600,700&subset=latin,latin-ext' rel='stylesheet' type='text/css'>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="content-style-type" content="text/css" />
<meta http-equiv="content-language" content="en-gb" />
<meta http-equiv="imagetoolbar" content="no" />
<meta name="resource-type" content="document" />
<meta name="distribution" content="global" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<title>Forums &bull; View topic - [0.11.x] Tankwerkz Unlimited v0.1.1</title>
<link rel="alternate" type="application/atom+xml" title="Feed - Forums" href="http://www.factorioforums.com/forum/feed.php" /><link rel="alternate" type="application/atom+xml" title="Feed - New Topics" href="http://www.factorioforums.com/forum/feed.php?mode=topics" /><link rel="alternate" type="application/atom+xml" title="Feed - Forum - Mods" href="http://www.factorioforums.com/forum/feed.php?f=14" /><link rel="alternate" type="application/atom+xml" title="Feed - Topic - [0.11.x] Tankwerkz Unlimited v0.1.1" href="http://www.factorioforums.com/forum/feed.php?f=14&amp;t=6751" />
<!--
phpBB style name: Factorio
Based on style: prosilver (this is the default phpBB3 style)
Original author: Tom Beddard ( http://www.subBlue.com/ )
Modified by: Graphic Albert (http://www.Factorio.com)
-->
<script type="text/javascript">
// <![CDATA[
var jump_page = 'Enter the page number you wish to go to:';
var on_page = '1';
var per_page = '';
var base_url = '';
var style_cookie = 'phpBBstyle';
var style_cookie_settings = '; path=/; domain=factorioforums.com';
var onload_functions = new Array();
var onunload_functions = new Array();
/**
* Find a member
*/
function find_username(url)
{
popup(url, 760, 570, '_usersearch');
return false;
}
/**
* New function for handling multiple calls to window.onload and window.unload by pentapenguin
*/
window.onload = function()
{
for (var i = 0; i < onload_functions.length; i++)
{
eval(onload_functions[i]);
}
};
window.onunload = function()
{
for (var i = 0; i < onunload_functions.length; i++)
{
eval(onunload_functions[i]);
}
};
// ]]>
</script>
<script type="text/javascript" src="./styles/prosilver/template/styleswitcher.js"></script>
<script type="text/javascript" src="./styles/prosilver/template/forum_fn.js"></script>
<link href="./styles/factorio/theme/print.css" rel="stylesheet" type="text/css" media="print" title="printonly" />
<link href="./style.php?id=4&amp;lang=en" rel="stylesheet" type="text/css" media="screen, projection" />
<link href="./styles/factorio/theme/normal.css" rel="stylesheet" type="text/css" title="A" />
<link href="./styles/factorio/theme/medium.css" rel="alternate stylesheet" type="text/css" title="A+" />
<link href="./styles/factorio/theme/large.css" rel="alternate stylesheet" type="text/css" title="A++" />
<script type="text/javascript"><!--
var spoiler_show = "[Reveal]";
var spoiler_hide = "[Obscure]";
//--></script>
<script type="text/javascript" src="./styles/factorio/template/prime_bbcode_spoiler.js"></script>
<link href="./styles/factorio/theme/prime_bbcode_spoiler.css" rel="stylesheet" type="text/css" />
</head>
<body id="phpbb" class="section-viewtopic ltr">
<div id="wrap">
<a id="top" name="top" accesskey="t"></a>
<div id="page-header">
<div class="headerbar">
<div class="inner"><span class="corners-top"><span></span></span>
<div id="site-description">
<a href="./index.php" title="Board index" id="logo"><img src="./styles/factorio/imageset/factorio.png" width="625" height="110" alt="" title="" /></a>
<h1>Forums</h1>
<p>www.factorio.com</p>
<p class="skiplink"><a href="#start_here">Skip to content</a></p>
</div>
<div id="search-box">
<form action="./search.php" method="get" id="search">
<fieldset>
<input name="keywords" id="keywords" type="text" maxlength="128" title="Search for keywords" class="inputbox search" value="Search…" onclick="if(this.value=='Search…')this.value='';" onblur="if(this.value=='')this.value='Search…';" />
<input class="button2" value="Search" type="submit" /><br />
<a href="./search.php" title="View the advanced search options">Advanced search</a>
</fieldset>
</form>
</div>
<span class="corners-bottom"><span></span></span></div>
</div>
<div class="navbar">
<div class="inner"><span class="corners-top"><span></span></span>
<ul class="linklist navlinks">
<li class="icon-home"><a href="./index.php" accesskey="h">Board index</a> <strong>&#8249;</strong> <a href="./viewforum.php?f=10">Contributions</a> <strong>&#8249;</strong> <a href="./viewforum.php?f=14">Mods</a></li>
<li class="rightside"><a href="#" onclick="fontsizeup(); return false;" onkeypress="return fontsizeup(event);" class="fontsize" title="Change font size">Change font size</a></li>
<li class="rightside"><a href="./memberlist.php?mode=email&amp;t=6751" title="E-mail friend" class="sendemail">E-mail friend</a></li><li class="rightside"><a href="./viewtopic.php?f=14&amp;t=6751&amp;view=print" title="Print view" accesskey="p" class="print">Print view</a></li>
</ul>
<ul class="linklist leftside">
<li class="icon-ucp">
<a href="./ucp.php" title="User Control Panel" accesskey="e">User Control Panel</a>
(<a href="./ucp.php?i=pm&amp;folder=inbox"><strong>0</strong> new messages</a>) &bull;
<a href="./search.php?search_id=egosearch">View your posts</a>
</li>
</ul>
<ul class="linklist rightside">
<li class="icon-faq"><a href="./faq.php" title="Frequently Asked Questions">FAQ</a></li>
<li class="icon-members"><a href="./memberlist.php" title="View complete list of members">Members</a></li>
<li class="icon-logout"><a href="./ucp.php?mode=logout&amp;sid=1a8d7a3d47addb3d0b72a48329089ef0" title="Logout [ Zequez ]" accesskey="x">Logout [ Zequez ]</a></li>
</ul>
<span class="corners-bottom"><span></span></span></div>
</div>
</div>
<a name="start_here"></a>
<div id="page-body">
<h2><a href="./viewtopic.php?f=14&amp;t=6751">[0.11.x] Tankwerkz Unlimited v0.1.1</a></h2>
<!-- NOTE: remove the style="display: none" when you want to have the forum description on the topic body --><div style="display: none !important;">Current mods and mod development.<br /></div>
<div class="topic-actions">
<div class="buttons">
<div class="reply-icon"><a href="./posting.php?mode=reply&amp;f=14&amp;t=6751" title="Post a reply"><span></span>Post a reply</a></div>
</div>
<div class="search-box">
<form method="get" id="topic-search" action="./search.php">
<fieldset>
<input class="inputbox search tiny" type="text" name="keywords" id="search_keywords" size="20" value="Search this topic…" onclick="if(this.value=='Search this topic…')this.value='';" onblur="if(this.value=='')this.value='Search this topic…';" />
<input class="button2" type="submit" value="Search" />
<input type="hidden" name="t" value="6751" />
<input type="hidden" name="sf" value="msgonly" />
</fieldset>
</form>
</div>
<div class="pagination">
<a href="#unread">First unread post</a> &bull; 3 posts
&bull; Page <strong>1</strong> of <strong>1</strong>
</div>
</div>
<div class="clear"></div>
<a id="unread"></a>
<div id="p52731" class="post bg2 unreadpost">
<div class="inner"><span class="corners-top"><span></span></span>
<div class="postbody">
<ul class="profile-icons">
<li class="report-icon"><a href="./report.php?f=14&amp;p=52731" title="Report this post"><span>Report this post</span></a></li><li class="quote-icon"><a href="./posting.php?mode=quote&amp;f=14&amp;p=52731" title="Reply with quote"><span>Reply with quote</span></a></li>
</ul>
<h3 class="first"><a href="#p52731">[0.11.x] Tankwerkz Unlimited v0.1.1</a></h3>
<p class="author"><a href="./viewtopic.php?p=52731#p52731"><img src="./styles/factorio/imageset/icon_post_target_unread.png" width="16" height="16" alt="Unread post" title="Unread post" /></a>by <strong><a href="./memberlist.php?mode=viewprofile&amp;u=2953">thegreyman</a></strong> &raquo; Mon Nov 17, 2014 2:19 pm </p>
<div class="content"><h3>Hey there</h3><strong>I'm here to kill you!</strong><ul><li>And a list of stuff!</li><li>And more stuff!</li></ul></div>
<dl class="attachbox">
<dt>Attachments</dt>
<dd>
<dl class="file">
<dt><img src="./styles/factorio/imageset/icon_topic_attach.png" width="16" height="16" alt="" title="" /> <a class="postlink" href="./download/file.php?id=2351">tankwerkz_0.1.1.zip</a></dt>
<dd>(255.19 KiB) Downloaded 162 times</dd>
</dl>
</dd>
</dl>
</div>
<dl class="postprofile" id="profile52731">
<dt>
<a href="./memberlist.php?mode=viewprofile&amp;u=2953">thegreyman</a>
</dt>
<dd>Burner Inserter<br /><img src="./images/ranks/burner-inserter.png" alt="Burner Inserter" title="Burner Inserter" /></dd>
<dd>&nbsp;</dd>
<dd><strong>Posts:</strong> 15</dd><dd><strong>Joined:</strong> Tue Jul 15, 2014 10:08 am</dd>
<dd>
<ul class="profile-icons">
<li class="pm-icon"><a href="./ucp.php?i=pm&amp;mode=compose&amp;action=quotepost&amp;p=52731" title="Private message"><span>Private message</span></a></li>
</ul>
</dd>
</dl>
<div class="back2top"><a href="#wrap" class="top" title="Top">Top</a></div>
<span class="corners-bottom"><span></span></span></div>
</div>
<hr class="divider" />
<div id="p54263" class="post bg1 unreadpost">
<div class="inner"><span class="corners-top"><span></span></span>
<div class="postbody">
<ul class="profile-icons">
<li class="report-icon"><a href="./report.php?f=14&amp;p=54263" title="Report this post"><span>Report this post</span></a></li><li class="quote-icon"><a href="./posting.php?mode=quote&amp;f=14&amp;p=54263" title="Reply with quote"><span>Reply with quote</span></a></li>
</ul>
<h3 ><a href="#p54263">Re: [0.11.x] Tankwerkz Unlimited v0.1.1</a></h3>
<p class="author"><a href="./viewtopic.php?p=54263#p54263"><img src="./styles/factorio/imageset/icon_post_target_unread.png" width="16" height="16" alt="Unread post" title="Unread post" /></a>by <strong><a href="./memberlist.php?mode=viewprofile&amp;u=3204">vedrit</a></strong> &raquo; Thu Nov 27, 2014 7:15 am </p>
<div class="content">I put in the mod and I noticed that the recipie for the High Explosive round requires a High Explosive round. Kind of problematic...</div>
</div>
<dl class="postprofile" id="profile54263">
<dt>
<a href="./memberlist.php?mode=viewprofile&amp;u=3204">vedrit</a>
</dt>
<dd>Burner Inserter<br /><img src="./images/ranks/burner-inserter.png" alt="Burner Inserter" title="Burner Inserter" /></dd>
<dd>&nbsp;</dd>
<dd><strong>Posts:</strong> 16</dd><dd><strong>Joined:</strong> Sat Aug 02, 2014 11:25 pm</dd>
<dd>
<ul class="profile-icons">
<li class="pm-icon"><a href="./ucp.php?i=pm&amp;mode=compose&amp;action=quotepost&amp;p=54263" title="Private message"><span>Private message</span></a></li>
</ul>
</dd>
</dl>
<div class="back2top"><a href="#wrap" class="top" title="Top">Top</a></div>
<span class="corners-bottom"><span></span></span></div>
</div>
<hr class="divider" />
<div id="p54289" class="post bg2 unreadpost">
<div class="inner"><span class="corners-top"><span></span></span>
<div class="postbody">
<ul class="profile-icons">
<li class="report-icon"><a href="./report.php?f=14&amp;p=54289" title="Report this post"><span>Report this post</span></a></li><li class="quote-icon"><a href="./posting.php?mode=quote&amp;f=14&amp;p=54289" title="Reply with quote"><span>Reply with quote</span></a></li>
</ul>
<h3 ><a href="#p54289">Re: [0.11.x] Tankwerkz Unlimited v0.1.1</a></h3>
<p class="author"><a href="./viewtopic.php?p=54289#p54289"><img src="./styles/factorio/imageset/icon_post_target_unread.png" width="16" height="16" alt="Unread post" title="Unread post" /></a>by <strong><a href="./memberlist.php?mode=viewprofile&amp;u=3542">Damrus</a></strong> &raquo; Thu Nov 27, 2014 9:41 am </p>
<div class="content">I think I fixed it. (hope the Original auther doesn't mind and if so Ill remove it)<br /><br />DL link<br /><!-- m --><a class="postlink" href="https://www.dropbox.com/s/cgb3bcb71rali7s/ammo.lua?dl=0">https://www.dropbox.com/s/cgb3bcb71rali7s/ammo.lua?dl=0</a><!-- m --><br /><br />Put the file in: Factorio\mods\tankwerkz_0.1.1\prototypes\recipe<br />And overwrite the other one.</div>
</div>
<dl class="postprofile" id="profile54289">
<dt>
<a href="./memberlist.php?mode=viewprofile&amp;u=3542">Damrus</a>
</dt>
<dd>Burner Inserter<br /><img src="./images/ranks/burner-inserter.png" alt="Burner Inserter" title="Burner Inserter" /></dd>
<dd>&nbsp;</dd>
<dd><strong>Posts:</strong> 8</dd><dd><strong>Joined:</strong> Sat Aug 23, 2014 9:41 am</dd>
<dd>
<ul class="profile-icons">
<li class="pm-icon"><a href="./ucp.php?i=pm&amp;mode=compose&amp;action=quotepost&amp;p=54289" title="Private message"><span>Private message</span></a></li>
</ul>
</dd>
</dl>
<div class="back2top"><a href="#wrap" class="top" title="Top">Top</a></div>
<span class="corners-bottom"><span></span></span></div>
</div>
<hr class="divider" />
<form id="viewtopic" method="post" action="./viewtopic.php?f=14&amp;t=6751">
<fieldset class="display-options" style="margin-top: 0; ">
<label>Display posts from previous: <select name="st" id="st"><option value="0" selected="selected">All posts</option><option value="1">1 day</option><option value="7">7 days</option><option value="14">2 weeks</option><option value="30">1 month</option><option value="90">3 months</option><option value="180">6 months</option><option value="365">1 year</option></select></label>
<label>Sort by <select name="sk" id="sk"><option value="a">Author</option><option value="t" selected="selected">Post time</option><option value="s">Subject</option></select></label> <label><select name="sd" id="sd"><option value="a" selected="selected">Ascending</option><option value="d">Descending</option></select> <input type="submit" name="sort" value="Go" class="button2" /></label>
</fieldset>
</form>
<hr />
<div class="topic-actions">
<div class="buttons">
<div class="reply-icon"><a href="./posting.php?mode=reply&amp;f=14&amp;t=6751" title="Post a reply"><span></span>Post a reply</a></div>
</div>
<div class="pagination">
3 posts
&bull; Page <strong>1</strong> of <strong>1</strong>
</div>
</div>
<p></p><p><a href="./viewforum.php?f=14" class="left-box left" accesskey="r">Return to Mods</a></p>
<form method="post" id="jumpbox" action="./viewforum.php" onsubmit="if(this.f.value == -1){return false;}">
<fieldset class="jumpbox">
<label for="f" accesskey="j">Jump to:</label>
<select name="f" id="f" onchange="if(this.options[this.selectedIndex].value != -1){ document.forms['jumpbox'].submit() }">
<option value="-1">Select a forum</option>
<option value="-1">------------------</option>
<option value="21">General</option>
<option value="3">&nbsp; &nbsp;Releases</option>
<option value="38">&nbsp; &nbsp;News</option>
<option value="5">&nbsp; &nbsp;General discussion</option>
<option value="53">&nbsp; &nbsp;Multiplayer</option>
<option value="8">&nbsp; &nbsp;Show your Creations</option>
<option value="54">&nbsp; &nbsp;&nbsp; &nbsp;Videos</option>
<option value="19">&nbsp; &nbsp;Spread the Word</option>
<option value="27">&nbsp; &nbsp;Off topic</option>
<option value="17">Support</option>
<option value="18">&nbsp; &nbsp;Gameplay Help</option>
<option value="49">&nbsp; &nbsp;Technical Help</option>
<option value="7">&nbsp; &nbsp;Bug Reports</option>
<option value="11">&nbsp; &nbsp;&nbsp; &nbsp;Resolved Problems and Bugs</option>
<option value="30">&nbsp; &nbsp;&nbsp; &nbsp;Resolved for the next release</option>
<option value="23">&nbsp; &nbsp;&nbsp; &nbsp;Not a bug</option>
<option value="29">&nbsp; &nbsp;&nbsp; &nbsp;Pending</option>
<option value="35">&nbsp; &nbsp;&nbsp; &nbsp;1 / 0 magic</option>
<option value="41">&nbsp; &nbsp;&nbsp; &nbsp;Known issues</option>
<option value="47">&nbsp; &nbsp;&nbsp; &nbsp;Duplicates</option>
<option value="48">&nbsp; &nbsp;&nbsp; &nbsp;Minor issues</option>
<option value="52">&nbsp; &nbsp;&nbsp; &nbsp;Multiplayer bugs</option>
<option value="20">Factorio Direction</option>
<option value="9">&nbsp; &nbsp;Development Proposals</option>
<option value="6">&nbsp; &nbsp;Ideas and Suggestions</option>
<option value="16">&nbsp; &nbsp;Balancing</option>
<option value="10">Contributions</option>
<option value="14" selected="selected">&nbsp; &nbsp;Mods</option>
<option value="34">&nbsp; &nbsp;&nbsp; &nbsp;Modding discussion</option>
<option value="25">&nbsp; &nbsp;&nbsp; &nbsp;Modding help</option>
<option value="32">&nbsp; &nbsp;&nbsp; &nbsp;Work In Progress Mods</option>
<option value="33">&nbsp; &nbsp;&nbsp; &nbsp;Ideas and Requests For Mods</option>
<option value="28">&nbsp; &nbsp;&nbsp; &nbsp;Modding interface requests</option>
<option value="40">&nbsp; &nbsp;&nbsp; &nbsp;Obsolete mods</option>
<option value="42">&nbsp; &nbsp;&nbsp; &nbsp;Big mods</option>
<option value="43">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;DyTech</option>
<option value="44">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Treefarm</option>
<option value="45">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;F mod</option>
<option value="46">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Test mode</option>
<option value="51">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bob's mods</option>
<option value="36">&nbsp; &nbsp;Maps and Scenarios</option>
<option value="12">&nbsp; &nbsp;Translations</option>
<option value="15">&nbsp; &nbsp;Texture Packs</option>
<option value="50">&nbsp; &nbsp;Wiki Talk</option>
</select>
<input type="submit" value="Go" class="button2" />
</fieldset>
</form>
<h3><a href="./viewonline.php">Who is online</a></h3>
<p>Users browsing this forum: <a href="./memberlist.php?mode=viewprofile&amp;u=923">L0771</a>, <a href="./memberlist.php?mode=viewprofile&amp;u=3971">laige</a>, <a href="./memberlist.php?mode=viewprofile&amp;u=4525">shock</a> and 6 guests</p>
</div>
<div id="page-footer">
<div class="navbar">
<div class="inner"><span class="corners-top"><span></span></span>
<ul class="linklist">
<li class="icon-home"><a href="./index.php" accesskey="h">Board index</a></li>
<li class="icon-subscribe"><a href="./viewtopic.php?uid=1553&amp;f=14&amp;t=6751&amp;watch=topic&amp;start=0&amp;hash=cb5dd3d8" title="Subscribe topic">Subscribe topic</a></li><li class="icon-bookmark"><a href="./viewtopic.php?f=14&amp;t=6751&amp;bookmark=1&amp;hash=cb5dd3d8" title="Bookmark topic">Bookmark topic</a></li>
<li class="rightside"><a href="./memberlist.php?mode=leaders">The team</a> &bull; <a href="./ucp.php?mode=delete_cookies">Delete all board cookies</a> &bull; All times are UTC - 3 hours </li>
</ul>
<span class="corners-bottom"><span></span></span></div>
</div>
<div class="copyright">Powered by <a href="http://www.phpbb.com/">phpBB</a>&reg; Forum Software &copy; phpBB Group
</div>
</div>
</div>
<div>
<a id="bottom" name="bottom" accesskey="z"></a>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,525 @@
---
http_interactions:
- request:
method: get
uri: http://www.factorioforums.com/forum/viewforum.php?f=91
body:
encoding: US-ASCII
string: ''
headers:
User-Agent:
- Typhoeus - https://github.com/typhoeus/typhoeus
response:
status:
code: 200
message: OK
headers:
Date:
- Wed, 22 Jul 2015 18:32:25 GMT
Server:
- Apache/2.2.29 (Unix) mod_ssl/2.2.29 OpenSSL/1.0.1e-fips mod_fcgid/2.3.7
X-Powered-By:
- PHP/5.4.37
Cache-Control:
- private, no-cache="set-cookie"
Expires:
- '0'
Pragma:
- no-cache
Set-Cookie:
- phpbb3_cobst_k=; expires=Thu, 21-Jul-2016 18:32:25 GMT; path=/; domain=factorioforums.com;
HttpOnly
- phpbb3_cobst_sid=83ebe7264f354102778c7d6569d0eb4e; expires=Thu, 21-Jul-2016
18:32:25 GMT; path=/; domain=factorioforums.com; HttpOnly
- phpbb3_cobst_u=1; expires=Thu, 21-Jul-2016 18:32:25 GMT; path=/; domain=factorioforums.com;
HttpOnly
Transfer-Encoding:
- chunked
Content-Type:
- text/html; charset=UTF-8
body:
encoding: UTF-8
string: "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html
xmlns=\"http://www.w3.org/1999/xhtml\" dir=\"ltr\" lang=\"en-gb\" xml:lang=\"en-gb\">\n<head>\n<link
href='http://fonts.googleapis.com/css?family=Titillium+Web:400,600,700&subset=latin,latin-ext'
rel='stylesheet' type='text/css'>\n<meta http-equiv=\"content-type\" content=\"text/html;
charset=UTF-8\" />\n<meta http-equiv=\"content-style-type\" content=\"text/css\"
/>\n<meta http-equiv=\"content-language\" content=\"en-gb\" />\n<meta http-equiv=\"imagetoolbar\"
content=\"no\" />\n<meta name=\"resource-type\" content=\"document\" />\n<meta
name=\"distribution\" content=\"global\" />\n<meta name=\"keywords\" content=\"\"
/>\n<meta name=\"description\" content=\"\" />\n\n<title>Forums &bull; View
forum - General Mods (0.12)</title>\n\n<link rel=\"alternate\" type=\"application/atom+xml\"
title=\"Feed - Forums\" href=\"http://www.factorioforums.com/forum/feed.php\"
/><link rel=\"alternate\" type=\"application/atom+xml\" title=\"Feed - News\"
href=\"http://www.factorioforums.com/forum/feed.php?mode=news\" /><link rel=\"alternate\"
type=\"application/atom+xml\" title=\"Feed - New Topics\" href=\"http://www.factorioforums.com/forum/feed.php?mode=topics\"
/><link rel=\"alternate\" type=\"application/atom+xml\" title=\"Feed - Forum
- General Mods (0.12)\" href=\"http://www.factorioforums.com/forum/feed.php?f=91\"
/>\n\n<!--\n\tphpBB style name: Factorio\n\tBased on style: prosilver (this
is the default phpBB3 style)\n\tOriginal author: Tom Beddard ( http://www.subBlue.com/
)\n\tModified by: Graphic Albert (http://www.Factorio.com)\n-->\n\n<script
type=\"text/javascript\">\n// <![CDATA[\n\tvar jump_page = 'Enter the page
number you wish to go to:';\n\tvar on_page = '1';\n\tvar per_page = '';\n\tvar
base_url = '';\n\tvar style_cookie = 'phpBBstyle';\n\tvar style_cookie_settings
= '; path=/; domain=factorioforums.com';\n\tvar onload_functions = new Array();\n\tvar
onunload_functions = new Array();\n\n\t\n\n\t/**\n\t* Find a member\n\t*/\n\tfunction
find_username(url)\n\t{\n\t\tpopup(url, 760, 570, '_usersearch');\n\t\treturn
false;\n\t}\n\n\t/**\n\t* New function for handling multiple calls to window.onload
and window.unload by pentapenguin\n\t*/\n\twindow.onload = function()\n\t{\n\t\tfor
(var i = 0; i < onload_functions.length; i++)\n\t\t{\n\t\t\teval(onload_functions[i]);\n\t\t}\n\t};\n\n\twindow.onunload
= function()\n\t{\n\t\tfor (var i = 0; i < onunload_functions.length; i++)\n\t\t{\n\t\t\teval(onunload_functions[i]);\n\t\t}\n\t};\n\n//
]]>\n</script>\n<script type=\"text/javascript\" src=\"./styles/prosilver/template/styleswitcher.js\"></script>\n<script
type=\"text/javascript\" src=\"./styles/prosilver/template/forum_fn.js\"></script>\n\n<link
href=\"./styles/factorio/theme/print.css\" rel=\"stylesheet\" type=\"text/css\"
media=\"print\" title=\"printonly\" />\n<link href=\"./style.php?id=4&amp;lang=en&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
rel=\"stylesheet\" type=\"text/css\" media=\"screen, projection\" />\n\n<link
href=\"./styles/factorio/theme/normal.css\" rel=\"stylesheet\" type=\"text/css\"
title=\"A\" />\n<link href=\"./styles/factorio/theme/medium.css\" rel=\"alternate
stylesheet\" type=\"text/css\" title=\"A+\" />\n<link href=\"./styles/factorio/theme/large.css\"
rel=\"alternate stylesheet\" type=\"text/css\" title=\"A++\" />\n\n<script
type=\"text/javascript\"><!--\n\tvar spoiler_show = \"[Reveal]\";\n\tvar spoiler_hide
= \"[Obscure]\";\n//--></script>\n<script type=\"text/javascript\" src=\"./styles/factorio/template/prime_bbcode_spoiler.js\"></script>\n<link
href=\"./styles/factorio/theme/prime_bbcode_spoiler.css\" rel=\"stylesheet\"
type=\"text/css\" />\n</head>\n\n<body id=\"phpbb\" class=\"section-viewforum
ltr\">\n<div id=\"wrap\">\n<a id=\"top\" name=\"top\" accesskey=\"t\"></a>\n\t<div
id=\"page-header\">\n\t\t<div class=\"headerbar\">\n\t\t\t<div class=\"inner\"><span
class=\"corners-top\"><span></span></span>\n\n\t\t\t<div id=\"site-description\">\n\t\t\t\t<a
href=\"./index.php?sid=a46c00652e981d14bf9dd33114cb89e5\" title=\"Board index\"
id=\"logo\"><img src=\"./styles/factorio/imageset/factorio.png\" width=\"625\"
height=\"110\" alt=\"\" title=\"\" /></a>\n\t\t\t\t<h1>Forums</h1>\n\t\t\t\t<p><a
href=\"http://www.factorio.com\">www.factorio.com</a></p>\n\t\t\t\t<p class=\"skiplink\"><a
href=\"#start_here\">Skip to content</a></p>\n\t\t\t</div>\n\n\t\t\n\t\t\t<div
id=\"search-box\">\n\t\t\t\t<form action=\"./search.php?sid=a46c00652e981d14bf9dd33114cb89e5\"
method=\"get\" id=\"search\">\n\t\t\t\t<fieldset>\n\t\t\t\t\t<input name=\"keywords\"
id=\"keywords\" type=\"text\" maxlength=\"128\" title=\"Search for keywords\"
class=\"inputbox search\" value=\"Search…\" onclick=\"if(this.value=='Search…')this.value='';\"
onblur=\"if(this.value=='')this.value='Search…';\" />\n\t\t\t\t\t<input class=\"button2\"
value=\"Search\" type=\"submit\" /><br />\n\t\t\t\t\t<a href=\"./search.php?sid=a46c00652e981d14bf9dd33114cb89e5\"
title=\"View the advanced search options\">Advanced search</a> <input type=\"hidden\"
name=\"sid\" value=\"a46c00652e981d14bf9dd33114cb89e5\" />\n\n\t\t\t\t</fieldset>\n\t\t\t\t</form>\n\t\t\t</div>\n\t\t\n\n\t\t\t<span
class=\"corners-bottom\"><span></span></span></div>\n\t\t</div>\n\n\t\t<div
class=\"navbar\">\n\t\t\t<div class=\"inner\"><span class=\"corners-top\"><span></span></span>\n\n\t\t\t<ul
class=\"linklist navlinks\">\n\t\t\t\t<li class=\"icon-home\"><a href=\"./index.php?sid=a46c00652e981d14bf9dd33114cb89e5\"
accesskey=\"h\">Board index</a> <strong>&#8249;</strong> <a href=\"./viewforum.php?f=10&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Contributions</a>
<strong>&#8249;</strong> <a href=\"./viewforum.php?f=14&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Mods</a>
<strong>&#8249;</strong> <a href=\"./viewforum.php?f=83&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Mods
for 0.12</a> <strong>&#8249;</strong> <a href=\"./viewforum.php?f=91&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">General
Mods (0.12)</a></li>\n\n\t\t\t\t<li class=\"rightside\"><a href=\"#\" onclick=\"fontsizeup();
return false;\" onkeypress=\"return fontsizeup(event);\" class=\"fontsize\"
title=\"Change font size\">Change font size</a></li>\n\n\t\t\t\t\n\t\t\t</ul>\n\n\t\t\t\n\n\t\t\t<ul
class=\"linklist rightside\">\n\t\t\t\t<li class=\"icon-faq\"><a href=\"./faq.php?sid=a46c00652e981d14bf9dd33114cb89e5\"
title=\"Frequently Asked Questions\">FAQ</a></li>\n\t\t\t\t<li class=\"icon-register\"><a
href=\"./ucp.php?mode=register&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Register</a></li>\n\t\t\t\t\t<li
class=\"icon-logout\"><a href=\"./ucp.php?mode=login&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
title=\"Login\" accesskey=\"x\">Login</a></li>\n\t\t\t\t\n\t\t\t</ul>\n\n\t\t\t<span
class=\"corners-bottom\"><span></span></span></div>\n\t\t</div>\n\n\t</div>\n\n\t<a
name=\"start_here\"></a>\n\t<div id=\"page-body\">\n\t\t\n<h2><a href=\"./viewforum.php?f=91&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">General
Mods (0.12)</a></h2>\n\n\n<div>\n\t<!-- NOTE: remove the style=\"display:
none\" when you want to have the forum description on the forum body --><div
style=\"display: none !important;\">Mods, that cannot be sorted into other
categories or new/incoming mods which doesn't fit into another category go
here.<br />Please use the &quot;report&quot;-button, if you want to have it
moved to another board.<br /></div>\n</div>\n\n\t<div class=\"rules\">\n\t\t<div
class=\"inner\"><span class=\"corners-top\"><span></span></span>\n\n\t\t\n\t\t\t<a
href=\"http://www.factorioforums.com/forum/viewtopic.php?f=89&amp;t=13493\">Forum
rules</a>\n\t\t\n\n\t\t<span class=\"corners-bottom\"><span></span></span></div>\n\t</div>\n\n\t\t<div
class=\"forabg\">\n\t\t\t<div class=\"inner\"><span class=\"corners-top\"><span></span></span>\n\t\t\t<ul
class=\"topiclist\">\n\t\t\t\t<li class=\"header\">\n\t\t\t\t\t<dl class=\"icon\">\n\t\t\t\t\t\t<dt>Forum</dt>\n\t\t\t\t\t\t<dd
class=\"topics\">Topics</dd>\n\t\t\t\t\t\t<dd class=\"posts\">Posts</dd>\n\t\t\t\t\t\t<dd
class=\"lastpost\"><span>Last post</span></dd>\n\t\t\t\t\t</dl>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t\t<ul
class=\"topiclist forums\">\n\t\n\t\t<li class=\"row\">\n\t\t\t<dl class=\"icon\"
style=\"background-image: url(./styles/factorio/imageset/forum_read.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\">\n\t\t\t\t<!--
<a class=\"feed-icon-forum\" title=\"Feed - Bugs &amp; Suggestions\" href=\"http://www.factorioforums.com/forum/feed.php?f=122\"><img
src=\"./styles/factorio/theme/images/feed.gif\" alt=\"Feed - Bugs &amp; Suggestions\"
/></a> -->\n\t\t\t\t\t<a href=\"./viewforum.php?f=122&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
class=\"forumtitle\">Bugs &amp; Suggestions</a><br />\n\t\t\t\t\tTo keep the
simple mod-threads as clean as possible the mod-author is offered to create
a second thread here and link the mod- and bug-threads together.\n\t\t\t\t\t\n\t\t\t\t</dt>\n\t\t\t\t\n\t\t\t\t\t<dd
class=\"topics\">1 <dfn>Topics</dfn></dd>\n\t\t\t\t\t<dd class=\"posts\">1
<dfn>Posts</dfn></dd>\n\t\t\t\t\t<dd class=\"lastpost\"><span>\n\t\t\t\t\t\t<dfn>Last
post</dfn> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=507&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
style=\"color: #00AA00;\" class=\"username-coloured\">ssilk</a>\n\t\t\t\t\t\t<a
href=\"./viewtopic.php?f=122&amp;p=93123&amp;sid=a46c00652e981d14bf9dd33114cb89e5#p93123\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Tue
Jul 21, 2015 5:48 pm</span>\n\t\t\t\t\t</dd>\n\t\t\t\t\n\t\t\t</dl>\n\t\t</li>\n\t\n\t\t<li
class=\"row\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/forum_link.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\">\n\t\t\t\t\n\t\t\t\t\t<a
href=\"http://www.factorioforums.com/forum/viewforum.php?f=120\" class=\"forumtitle\">Unofficial
Updated Mods / Unofficial Patches</a><br />\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t</dt>\n\t\t\t\t\n\t\t\t</dl>\n\t\t</li>\n\t\n\t\t\t</ul>\n\n\t\t\t<span
class=\"corners-bottom\"><span></span></span></div>\n\t\t</div>\n\t\n\t<div
class=\"topic-actions\" style=\"margin-top: 2em;\">\n\n\t\n\t\t<div class=\"buttons\">\n\t\t\t<div
class=\"post-icon\" title=\"Post a new topic\"><a href=\"./posting.php?mode=post&amp;f=91&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"><span></span>Post
a new topic</a></div>\n\t\t</div>\n\t\n\t\t<div class=\"search-box\">\n\t\t\t<form
method=\"get\" id=\"forum-search\" action=\"./search.php?sid=a46c00652e981d14bf9dd33114cb89e5\">\n\t\t\t<fieldset>\n\t\t\t\t<input
class=\"inputbox search tiny\" type=\"text\" name=\"keywords\" id=\"search_keywords\"
size=\"20\" value=\"Search this forum…\" onclick=\"if (this.value == 'Search
this forum…') this.value = '';\" onblur=\"if (this.value == '') this.value
= 'Search this forum…';\" />\n\t\t\t\t<input class=\"button2\" type=\"submit\"
value=\"Search\" />\n\t\t\t\t<input type=\"hidden\" name=\"fid[0]\" value=\"91\"
/>\n<input type=\"hidden\" name=\"sid\" value=\"a46c00652e981d14bf9dd33114cb89e5\"
/>\n\n\t\t\t</fieldset>\n\t\t\t</form>\n\t\t</div>\n\t\n\t\t<div class=\"pagination\">\n\t\t\t13
topics &bull; Page <strong>1</strong> of <strong>1</strong>\n\t\t</div>\n\t\n\n\t</div>\n\n\t\t<div
class=\"forumbg\">\n\t\t<div class=\"inner\"><span class=\"corners-top\"><span></span></span>\n\t\t<ul
class=\"topiclist\">\n\t\t\t<li class=\"header\">\n\t\t\t\t<dl class=\"icon\">\n\t\t\t\t\t<dt>Topics</dt>\n\t\t\t\t\t<dd
class=\"posts\">Replies</dd>\n\t\t\t\t\t<dd class=\"views\">Views</dd>\n\t\t\t\t\t<dd
class=\"lastpost\"><span>Last post</span></dd>\n\t\t\t\t</dl>\n\t\t\t</li>\n\t\t</ul>\n\t\t<ul
class=\"topiclist topics\">\n\t\n\n\t\t<li class=\"row bg1 sticky\">\n\t\t\t<dl
class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/sticky_read_locked.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"This topic is locked,
you cannot edit posts or make further replies.\"><a href=\"./viewtopic.php?f=91&amp;t=13835&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
class=\"topictitle\">[MOD 0.12.x] Forum Example Template Mod Thread</a>\n\t\t\t\t\t<br
/>\n\t\t\t\t\tby <a href=\"./memberlist.php?mode=viewprofile&amp;u=507&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
style=\"color: #00AA00;\" class=\"username-coloured\">ssilk</a> &raquo; Tue
Jul 21, 2015 5:45 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">0 <dfn>Replies</dfn></dd>\n\t\t\t\t<dd
class=\"views\">120 <dfn>Views</dfn></dd>\n\t\t\t\t<dd class=\"lastpost\"><span><dfn>Last
post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=507&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
style=\"color: #00AA00;\" class=\"username-coloured\">ssilk</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=91&amp;t=13835&amp;p=93122&amp;sid=a46c00652e981d14bf9dd33114cb89e5#p93122\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Tue
Jul 21, 2015 5:45 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=91&amp;t=5891&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
class=\"topictitle\">[MOD 0.12.x] Larger Inventory</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<strong
class=\"pagination\"><span><a href=\"./viewtopic.php?f=91&amp;t=5891&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">1</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&amp;t=5891&amp;sid=a46c00652e981d14bf9dd33114cb89e5&amp;start=10\">2</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&amp;t=5891&amp;sid=a46c00652e981d14bf9dd33114cb89e5&amp;start=20\">3</a></span></strong><img
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=2533&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>
&raquo; Sat Sep 20, 2014 12:04 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">20
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">8463 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=2533&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=91&amp;t=5891&amp;p=93490&amp;sid=a46c00652e981d14bf9dd33114cb89e5#p93490\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
Jul 22, 2015 4:06 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read_hot.gif);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=91&amp;t=4973&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
class=\"topictitle\">[MOD 0.12.x] Landfill (2.1.5)</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<strong
class=\"pagination\"><span><a href=\"./viewtopic.php?f=91&amp;t=4973&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">1</a><span
class=\"page-dots\"> ... </span><a href=\"./viewtopic.php?f=91&amp;t=4973&amp;sid=a46c00652e981d14bf9dd33114cb89e5&amp;start=60\">7</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&amp;t=4973&amp;sid=a46c00652e981d14bf9dd33114cb89e5&amp;start=70\">8</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&amp;t=4973&amp;sid=a46c00652e981d14bf9dd33114cb89e5&amp;start=80\">9</a></span></strong><img
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=2533&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>
&raquo; Fri Jul 25, 2014 1:44 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">82
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">27460 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=1561&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">GotLag</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=91&amp;t=4973&amp;p=93424&amp;sid=a46c00652e981d14bf9dd33114cb89e5#p93424\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
Jul 22, 2015 12:58 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=91&amp;t=13562&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
class=\"topictitle\">[MOD 0.12.x] Natural Evolution v3.0.6 - All things Alien!</a>\n\t\t\t\t\t<br
/>\n\t\t\t\t\t<img src=\"./styles/factorio/imageset/icon_topic_attach.png\"
width=\"16\" height=\"16\" alt=\"Attachment(s)\" title=\"Attachment(s)\" />
by <a href=\"./memberlist.php?mode=viewprofile&amp;u=919&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">TheSAguy</a>
&raquo; Fri Jul 17, 2015 10:35 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">8
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">1070 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=2231&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">billw</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=91&amp;t=13562&amp;p=93399&amp;sid=a46c00652e981d14bf9dd33114cb89e5#p93399\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
Jul 22, 2015 11:24 am</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=91&amp;t=13567&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
class=\"topictitle\">[MOD 0.11.x - 0.12.x] Marathon</a>\n\t\t\t\t\t<br />\n\t\t\t\t\tby
<a href=\"./memberlist.php?mode=viewprofile&amp;u=7073&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Afforess</a>
&raquo; Fri Jul 17, 2015 11:15 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">2
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">889 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=7073&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Afforess</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=91&amp;t=13567&amp;p=93268&amp;sid=a46c00652e981d14bf9dd33114cb89e5#p93268\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
Jul 22, 2015 12:38 am</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=91&amp;t=13782&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
class=\"topictitle\">[0.12.x] Harder Energy</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<img
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=1507&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Molay</a>
&raquo; Mon Jul 20, 2015 8:50 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">0
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">557 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=1507&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Molay</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=91&amp;t=13782&amp;p=92790&amp;sid=a46c00652e981d14bf9dd33114cb89e5#p92790\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Mon
Jul 20, 2015 8:50 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=91&amp;t=5372&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
class=\"topictitle\">[MOD 0.12.x] Ore Expansion</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<img
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=2533&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>
&raquo; Fri Aug 15, 2014 4:13 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">4
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">5443 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=6027&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">jockeril</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=91&amp;t=5372&amp;p=92636&amp;sid=a46c00652e981d14bf9dd33114cb89e5#p92636\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Mon
Jul 20, 2015 1:59 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=91&amp;t=6065&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
class=\"topictitle\">[MOD 0.12.x] Loot-able Rocks</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<img
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=2533&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>
&raquo; Tue Oct 07, 2014 12:15 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">9
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">3290 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=1493&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Talguy</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=91&amp;t=6065&amp;p=92199&amp;sid=a46c00652e981d14bf9dd33114cb89e5#p92199\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Sun
Jul 19, 2015 10:15 am</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read_hot.gif);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=91&amp;t=4845&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
class=\"topictitle\">[MOD 0.12.x] Compression Chests: virtually unlimited
storage</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<strong class=\"pagination\"><span><a
href=\"./viewtopic.php?f=91&amp;t=4845&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">1</a><span
class=\"page-dots\"> ... </span><a href=\"./viewtopic.php?f=91&amp;t=4845&amp;sid=a46c00652e981d14bf9dd33114cb89e5&amp;start=30\">4</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&amp;t=4845&amp;sid=a46c00652e981d14bf9dd33114cb89e5&amp;start=40\">5</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&amp;t=4845&amp;sid=a46c00652e981d14bf9dd33114cb89e5&amp;start=50\">6</a></span></strong><img
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=2533&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>
&raquo; Mon Jul 14, 2014 11:02 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">50
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">9987 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=8143&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Enigmatica</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=91&amp;t=4845&amp;p=91872&amp;sid=a46c00652e981d14bf9dd33114cb89e5#p91872\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Sat
Jul 18, 2015 1:44 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=91&amp;t=13539&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
class=\"topictitle\">[0.12.0] Hebrew RTL Fixer/Inverter</a>\n\t\t\t\t\t<br
/>\n\t\t\t\t\t<img src=\"./styles/factorio/imageset/icon_topic_attach.png\"
width=\"16\" height=\"16\" alt=\"Attachment(s)\" title=\"Attachment(s)\" />
by <a href=\"./memberlist.php?mode=viewprofile&amp;u=8168&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Dev-iL</a>
&raquo; Fri Jul 17, 2015 7:20 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">4
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">634 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=8168&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Dev-iL</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=91&amp;t=13539&amp;p=91732&amp;sid=a46c00652e981d14bf9dd33114cb89e5#p91732\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Sat
Jul 18, 2015 7:19 am</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=91&amp;t=7119&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
class=\"topictitle\">[MOD 0.12.x] Stainless Steel wagon - a larger cargo wagon</a>\n\t\t\t\t\t<br
/>\n\t\t\t\t\t<strong class=\"pagination\"><span><a href=\"./viewtopic.php?f=91&amp;t=7119&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">1</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&amp;t=7119&amp;sid=a46c00652e981d14bf9dd33114cb89e5&amp;start=10\">2</a></span></strong>by
<a href=\"./memberlist.php?mode=viewprofile&amp;u=2533&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>
&raquo; Sat Dec 06, 2014 2:31 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">13
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">4304 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=2533&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=91&amp;t=7119&amp;p=68768&amp;sid=a46c00652e981d14bf9dd33114cb89e5#p68768\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Fri
Feb 13, 2015 2:29 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=91&amp;t=4757&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
class=\"topictitle\">[MOD 0.12.X] Explosive Termites 1.1.6: extreme deforestation</a>\n\t\t\t\t\t<br
/>\n\t\t\t\t\t<strong class=\"pagination\"><span><a href=\"./viewtopic.php?f=91&amp;t=4757&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">1</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&amp;t=4757&amp;sid=a46c00652e981d14bf9dd33114cb89e5&amp;start=10\">2</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&amp;t=4757&amp;sid=a46c00652e981d14bf9dd33114cb89e5&amp;start=20\">3</a></span></strong><img
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=2533&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>
&raquo; Wed Jul 09, 2014 3:29 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">23
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">8032 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=2533&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=91&amp;t=4757&amp;p=62391&amp;sid=a46c00652e981d14bf9dd33114cb89e5#p62391\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Thu
Jan 08, 2015 8:37 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=91&amp;t=5412&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"
class=\"topictitle\">[MOD 0.12.x] Fluid Void</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<strong
class=\"pagination\"><span><a href=\"./viewtopic.php?f=91&amp;t=5412&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">1</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=91&amp;t=5412&amp;sid=a46c00652e981d14bf9dd33114cb89e5&amp;start=10\">2</a></span></strong><img
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=2533&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Rseding91</a>
&raquo; Sun Aug 17, 2014 5:00 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">16
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">8377 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=2688&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Kikkers</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=91&amp;t=5412&amp;p=59137&amp;sid=a46c00652e981d14bf9dd33114cb89e5#p59137\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Sun
Dec 21, 2014 1:18 am</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\t\t\t</ul>\n\t\t<span
class=\"corners-bottom\"><span></span></span></div>\n\t</div>\n\t\n\t<form
method=\"post\" action=\"./viewforum.php?f=91&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">\n\t\t<fieldset
class=\"display-options\">\n\t\t\t\n\t\t\t<label>Display topics from previous:
<select name=\"st\" id=\"st\"><option value=\"0\" selected=\"selected\">All
Topics</option><option value=\"1\">1 day</option><option value=\"7\">7 days</option><option
value=\"14\">2 weeks</option><option value=\"30\">1 month</option><option
value=\"90\">3 months</option><option value=\"180\">6 months</option><option
value=\"365\">1 year</option></select></label>\n\t\t\t<label>Sort by <select
name=\"sk\" id=\"sk\"><option value=\"a\">Author</option><option value=\"t\"
selected=\"selected\">Post time</option><option value=\"r\">Replies</option><option
value=\"s\">Subject</option><option value=\"v\">Views</option></select></label>\n\t\t\t<label><select
name=\"sd\" id=\"sd\"><option value=\"a\">Ascending</option><option value=\"d\"
selected=\"selected\">Descending</option></select> <input type=\"submit\"
name=\"sort\" value=\"Go\" class=\"button2\" /></label>\n\t\n\t\t</fieldset>\n\t</form>\n\t<hr
/>\n\n\t<div class=\"topic-actions\">\n\t\t\n\t\t<div class=\"buttons\">\n\t\t\t<div
class=\"post-icon\" title=\"Post a new topic\"><a href=\"./posting.php?mode=post&amp;f=91&amp;sid=a46c00652e981d14bf9dd33114cb89e5\"><span></span>Post
a new topic</a></div>\n\t\t</div>\n\t\t\n\t\t<div class=\"pagination\">\n\t\t\t
13 topics &bull; Page <strong>1</strong> of <strong>1</strong>\n\t\t</div>\n\t\t\n\t</div>\n\n\t<p></p><p><a
href=\"./index.php?sid=a46c00652e981d14bf9dd33114cb89e5\" class=\"left-box
left\" accesskey=\"r\">Return to Board index</a></p>\n\n\t<form method=\"post\"
id=\"jumpbox\" action=\"./viewforum.php?sid=a46c00652e981d14bf9dd33114cb89e5\"
onsubmit=\"if(this.f.value == -1){return false;}\">\n\n\t\n\t\t<fieldset class=\"jumpbox\">\n\t\n\t\t\t<label
for=\"f\" accesskey=\"j\">Jump to:</label>\n\t\t\t<select name=\"f\" id=\"f\"
onchange=\"if(this.options[this.selectedIndex].value != -1){ document.forms['jumpbox'].submit()
}\">\n\t\t\t\n\t\t\t\t<option value=\"-1\">Select a forum</option>\n\t\t\t<option
value=\"-1\">------------------</option>\n\t\t\t\t<option value=\"21\">General</option>\n\t\t\t\n\t\t\t\t<option
value=\"3\">&nbsp; &nbsp;Releases</option>\n\t\t\t\n\t\t\t\t<option value=\"38\">&nbsp;
&nbsp;News</option>\n\t\t\t\n\t\t\t\t<option value=\"5\">&nbsp; &nbsp;General
discussion</option>\n\t\t\t\n\t\t\t\t<option value=\"53\">&nbsp; &nbsp;Multiplayer</option>\n\t\t\t\n\t\t\t\t<option
value=\"8\">&nbsp; &nbsp;Show your Creations</option>\n\t\t\t\n\t\t\t\t<option
value=\"54\">&nbsp; &nbsp;&nbsp; &nbsp;Videos</option>\n\t\t\t\n\t\t\t\t<option
value=\"19\">&nbsp; &nbsp;Spread the Word</option>\n\t\t\t\n\t\t\t\t<option
value=\"27\">&nbsp; &nbsp;Off topic</option>\n\t\t\t\n\t\t\t\t<option value=\"55\">&nbsp;
&nbsp;This Forum</option>\n\t\t\t\n\t\t\t\t<option value=\"57\">&nbsp; &nbsp;&nbsp;
&nbsp;Trash area</option>\n\t\t\t\n\t\t\t\t<option value=\"17\">Support</option>\n\t\t\t\n\t\t\t\t<option
value=\"18\">&nbsp; &nbsp;Gameplay Help</option>\n\t\t\t\n\t\t\t\t<option
value=\"49\">&nbsp; &nbsp;Technical Help</option>\n\t\t\t\n\t\t\t\t<option
value=\"7\">&nbsp; &nbsp;Bug Reports</option>\n\t\t\t\n\t\t\t\t<option value=\"11\">&nbsp;
&nbsp;&nbsp; &nbsp;Resolved Problems and Bugs</option>\n\t\t\t\n\t\t\t\t<option
value=\"30\">&nbsp; &nbsp;&nbsp; &nbsp;Resolved for the next release</option>\n\t\t\t\n\t\t\t\t<option
value=\"23\">&nbsp; &nbsp;&nbsp; &nbsp;Not a bug</option>\n\t\t\t\n\t\t\t\t<option
value=\"29\">&nbsp; &nbsp;&nbsp; &nbsp;Pending</option>\n\t\t\t\n\t\t\t\t<option
value=\"35\">&nbsp; &nbsp;&nbsp; &nbsp;1 / 0 magic</option>\n\t\t\t\n\t\t\t\t<option
value=\"41\">&nbsp; &nbsp;&nbsp; &nbsp;Known issues</option>\n\t\t\t\n\t\t\t\t<option
value=\"47\">&nbsp; &nbsp;&nbsp; &nbsp;Duplicates</option>\n\t\t\t\n\t\t\t\t<option
value=\"48\">&nbsp; &nbsp;&nbsp; &nbsp;Minor issues</option>\n\t\t\t\n\t\t\t\t<option
value=\"58\">&nbsp; &nbsp;&nbsp; &nbsp;Won't fix.</option>\n\t\t\t\n\t\t\t\t<option
value=\"20\">Factorio Direction</option>\n\t\t\t\n\t\t\t\t<option value=\"9\">&nbsp;
&nbsp;Development Proposals</option>\n\t\t\t\n\t\t\t\t<option value=\"6\">&nbsp;
&nbsp;Ideas and Suggestions</option>\n\t\t\t\n\t\t\t\t<option value=\"80\">&nbsp;
&nbsp;&nbsp; &nbsp;Concepts</option>\n\t\t\t\n\t\t\t\t<option value=\"76\">&nbsp;
&nbsp;&nbsp; &nbsp;Backlog (old, but good stuff)</option>\n\t\t\t\n\t\t\t\t<option
value=\"67\">&nbsp; &nbsp;&nbsp; &nbsp;Forum-Ready Suggestions</option>\n\t\t\t\n\t\t\t\t<option
value=\"68\">&nbsp; &nbsp;&nbsp; &nbsp;Ready for implementation</option>\n\t\t\t\n\t\t\t\t<option
value=\"66\">&nbsp; &nbsp;&nbsp; &nbsp;Implemented Suggestions</option>\n\t\t\t\n\t\t\t\t<option
value=\"71\">&nbsp; &nbsp;&nbsp; &nbsp;Outdated/Not implemented</option>\n\t\t\t\n\t\t\t\t<option
value=\"16\">&nbsp; &nbsp;Balancing</option>\n\t\t\t\n\t\t\t\t<option value=\"10\">Contributions</option>\n\t\t\t\n\t\t\t\t<option
value=\"14\">&nbsp; &nbsp;Mods</option>\n\t\t\t\n\t\t\t\t<option value=\"88\">&nbsp;
&nbsp;&nbsp; &nbsp;Spotlights and Rating</option>\n\t\t\t\n\t\t\t\t<option
value=\"89\">&nbsp; &nbsp;&nbsp; &nbsp;Mod Rules &amp; Discuss this Board</option>\n\t\t\t\n\t\t\t\t<option
value=\"83\">&nbsp; &nbsp;&nbsp; &nbsp;Mods for 0.12</option>\n\t\t\t\n\t\t\t\t<option
value=\"98\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Rules</option>\n\t\t\t\n\t\t\t\t<option
value=\"97\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Work-In-Progress / Pre-Alpha
Mods (0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"91\" selected=\"selected\">&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;General Mods (0.12)</option>\n\t\t\t\n\t\t\t\t<option
value=\"122\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bugs &amp;
Suggestions</option>\n\t\t\t\n\t\t\t\t<option value=\"121\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Unofficial Updated Mods / Unofficial Patches</option>\n\t\t\t\n\t\t\t\t<option
value=\"92\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Helper mods (0.12)</option>\n\t\t\t\n\t\t\t\t<option
value=\"123\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bugs &amp;
Suggestions</option>\n\t\t\t\n\t\t\t\t<option value=\"61\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Rail Layer</option>\n\t\t\t\n\t\t\t\t<option
value=\"116\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"93\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;New Items, Entities, Extensions
(0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"124\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bugs &amp; Suggestions</option>\n\t\t\t\n\t\t\t\t<option
value=\"94\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Gameplay / Convenience
(0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"125\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bugs &amp; Suggestions</option>\n\t\t\t\n\t\t\t\t<option
value=\"44\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Treefarm</option>\n\t\t\t\n\t\t\t\t<option
value=\"103\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"79\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Resource
Spawner Overhaul</option>\n\t\t\t\n\t\t\t\t<option value=\"108\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"64\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Atomic Power</option>\n\t\t\t\n\t\t\t\t<option
value=\"115\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"95\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Mod Compilations / Complete
Overhauls (0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"126\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bugs &amp; Suggestions</option>\n\t\t\t\n\t\t\t\t<option
value=\"43\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;DyTech</option>\n\t\t\t\n\t\t\t\t<option
value=\"99\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"51\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bob's mods</option>\n\t\t\t\n\t\t\t\t<option
value=\"105\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"81\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;5dim's mod</option>\n\t\t\t\n\t\t\t\t<option
value=\"110\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"70\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Yuoki Industries</option>\n\t\t\t\n\t\t\t\t<option
value=\"112\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"96\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Mod Packs / Libs / Special
Interest (0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"127\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bugs &amp; Suggestions</option>\n\t\t\t\n\t\t\t\t<option
value=\"60\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;ShadowMegaModpack</option>\n\t\t\t\n\t\t\t\t<option
value=\"118\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"120\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Unofficial Updated Mods
/ Unofficial Patches (0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"128\">&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bugs &amp; Suggestions</option>\n\t\t\t\n\t\t\t\t<option
value=\"84\">&nbsp; &nbsp;&nbsp; &nbsp;Mods for 0.11 and below</option>\n\t\t\t\n\t\t\t\t<option
value=\"90\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Rules</option>\n\t\t\t\n\t\t\t\t<option
value=\"32\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Work In Progress Mods
(&lt;=0.11)</option>\n\t\t\t\n\t\t\t\t<option value=\"87\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;Mods (&lt;=0.11)</option>\n\t\t\t\n\t\t\t\t<option value=\"86\">&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Helper mods (&lt;=0.11)</option>\n\t\t\t\n\t\t\t\t<option
value=\"117\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;F.A.R.L.
/ Rail Layer (Link)</option>\n\t\t\t\n\t\t\t\t<option value=\"46\">&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Test mode</option>\n\t\t\t\n\t\t\t\t<option
value=\"42\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Big mods (&lt;=0.11)</option>\n\t\t\t\n\t\t\t\t<option
value=\"102\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;DyTech (Link)</option>\n\t\t\t\n\t\t\t\t<option
value=\"104\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Treefarm
(Link)</option>\n\t\t\t\n\t\t\t\t<option value=\"106\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bob's mods (link)</option>\n\t\t\t\n\t\t\t\t<option
value=\"107\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Resource
Spawner Overhaul (link)</option>\n\t\t\t\n\t\t\t\t<option value=\"109\">&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;5dim's mod (link)</option>\n\t\t\t\n\t\t\t\t<option
value=\"111\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Uranium
Power (Link)</option>\n\t\t\t\n\t\t\t\t<option value=\"113\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Yuoki Industries (Link)</option>\n\t\t\t\n\t\t\t\t<option
value=\"45\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;F mod</option>\n\t\t\t\n\t\t\t\t<option
value=\"59\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"62\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Cartmen's
Complete Overhaul</option>\n\t\t\t\n\t\t\t\t<option value=\"114\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"63\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;MoMods</option>\n\t\t\t\n\t\t\t\t<option
value=\"77\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Hardc☸rio</option>\n\t\t\t\n\t\t\t\t<option
value=\"78\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Cursed Exp</option>\n\t\t\t\n\t\t\t\t<option
value=\"85\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Modpacks (&lt;=0.11)</option>\n\t\t\t\n\t\t\t\t<option
value=\"119\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;ShadowsMegaModpack
(Link)</option>\n\t\t\t\n\t\t\t\t<option value=\"40\">&nbsp; &nbsp;&nbsp;
&nbsp;Obsolete mods</option>\n\t\t\t\n\t\t\t\t<option value=\"82\">&nbsp;
&nbsp;Modding Discussions</option>\n\t\t\t\n\t\t\t\t<option value=\"34\">&nbsp;
&nbsp;&nbsp; &nbsp;Modding discussion</option>\n\t\t\t\n\t\t\t\t<option value=\"25\">&nbsp;
&nbsp;&nbsp; &nbsp;Modding help</option>\n\t\t\t\n\t\t\t\t<option value=\"33\">&nbsp;
&nbsp;&nbsp; &nbsp;Ideas and Requests For Mods</option>\n\t\t\t\n\t\t\t\t<option
value=\"28\">&nbsp; &nbsp;&nbsp; &nbsp;Modding interface requests</option>\n\t\t\t\n\t\t\t\t<option
value=\"65\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Implemented mod requests</option>\n\t\t\t\n\t\t\t\t<option
value=\"36\">&nbsp; &nbsp;Maps and Scenarios</option>\n\t\t\t\n\t\t\t\t<option
value=\"12\">&nbsp; &nbsp;Translations</option>\n\t\t\t\n\t\t\t\t<option value=\"15\">&nbsp;
&nbsp;Texture Packs</option>\n\t\t\t\n\t\t\t\t<option value=\"69\">&nbsp;
&nbsp;Tools</option>\n\t\t\t\n\t\t\t\t<option value=\"50\">&nbsp; &nbsp;Wiki
Talk</option>\n\t\t\t\n\t\t\t</select>\n\t\t\t<input type=\"submit\" value=\"Go\"
class=\"button2\" />\n\t\t</fieldset>\n\t</form>\n\n\n\t<h3>Who is online</h3>\n\t<p>Users
browsing this forum: No registered users and 3 guests</p>\n\n\t<h3>Forum permissions</h3>\n\t<p>You
<strong>cannot</strong> post new topics in this forum<br />You <strong>cannot</strong>
reply to topics in this forum<br />You <strong>cannot</strong> edit your posts
in this forum<br />You <strong>cannot</strong> delete your posts in this forum<br
/>You <strong>cannot</strong> post attachments in this forum<br /></p>\n</div>\n\n<div
id=\"page-footer\">\n\n\t<div class=\"navbar\">\n\t\t<div class=\"inner\"><span
class=\"corners-top\"><span></span></span>\n\n\t\t<ul class=\"linklist\">\n\t\t\t<li
class=\"icon-home\"><a href=\"./index.php?sid=a46c00652e981d14bf9dd33114cb89e5\"
accesskey=\"h\">Board index</a></li>\n\t\t\t\t\n\t\t\t<li class=\"rightside\"><a
href=\"./memberlist.php?mode=leaders&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">The
team</a> &bull; <a href=\"./ucp.php?mode=delete_cookies&amp;sid=a46c00652e981d14bf9dd33114cb89e5\">Delete
all board cookies</a> &bull; All times are UTC </li>\n\t\t</ul>\n\n\t\t<span
class=\"corners-bottom\"><span></span></span></div>\n\t</div>\n\n\t<div class=\"copyright\">Powered
by <a href=\"http://www.phpbb.com/\">phpBB</a>&reg; Forum Software &copy;
phpBB Group\n\t\t\n\t</div>\n</div>\n\n</div>\n\n<div>\n\t<a id=\"bottom\"
name=\"bottom\" accesskey=\"z\"></a>\n\t\n</div>\n\n</body>\n</html>"
http_version:
recorded_at: Wed, 22 Jul 2015 18:32:25 GMT
recorded_with: VCR 2.9.3

View File

@ -0,0 +1,118 @@
---
http_interactions:
- request:
method: get
uri: http://www.purple.com/
body:
encoding: US-ASCII
string: ''
headers:
User-Agent:
- Typhoeus - https://github.com/typhoeus/typhoeus
response:
status:
code: 200
message: OK
headers:
Date:
- Thu, 23 Jul 2015 01:53:44 GMT
Server:
- Chaos
Last-Modified:
- Wed, 22 Jul 2015 05:01:01 GMT
Etag:
- '"4c1-51b6fa83ac483"'
Accept-Ranges:
- bytes
Content-Length:
- '1217'
Content-Type:
- text/html
body:
encoding: UTF-8
string: |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<style type="text/css">
body { background-color: #7D26CD; }
a{ color:#AAAA00; text-decoration: none; padding: 4px; }
a:link { color:#AAAA00; }
a:visited { color:#999900; }
a:hover { color:#660000; background: #9D46DD; }
a:active { color:#666600; }
</style>
<link rel="stylesheet" type="text/css" href="index.css">
<META HTTP-EQUIV="Refresh" CONTENT="3; URL=purple.html">
<TITLE>www.purple.com</TITLE>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-27318022-1']);
_gaq.push(['_setDomainName', 'purple.com']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</HEAD>
<ul>
<li> <a href="faq.html">FAQ</a></li>
<li>&nbsp;</li>
<li> <a href="advertise.html">Your ad here</a></li>
</ul>
</BODY>
</HTML>
http_version:
recorded_at: Thu, 23 Jul 2015 01:53:44 GMT
- request:
method: get
uri: http://www.zombo.com/
body:
encoding: US-ASCII
string: ''
headers:
User-Agent:
- Typhoeus - https://github.com/typhoeus/typhoeus
response:
status:
code: 200
message: OK
headers:
Date:
- Thu, 23 Jul 2015 02:21:55 GMT
Server:
- Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.7a mod_auth_passthrough/2.1
mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/5.2.14
Last-Modified:
- Tue, 23 Apr 2002 05:19:28 GMT
Etag:
- '"b2013c-2f6-f5f17800"'
Accept-Ranges:
- bytes
Content-Length:
- '758'
Content-Type:
- text/html
body:
encoding: UTF-8
string: "<html>\n<head>\n<title>ZOMBO</title>\n<meta http-equiv=\"Content-Type\"
content=\"text/html; charset=iso-8859-1\">\n<!--Please Visit 15footstick.com
our other website. ThankZ -->\n</head>\n\n<body bgcolor=\"#FFFFFF\">\n<object
classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"\n\n codebase=\"http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0\"\n\n
id=inrozxa width=100% height=100%>\n <param name=movie value=\"welcomenew6.swf\">\n
\ <param name=quality value=high>\n <param name=bgcolor value=#FFFFFF>\n
\ <embed src=\"inrozxa.swf\" quality=high bgcolor=#FFFFFF width=100% height=100%
type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\">\n
\ </embed> \n</object> \n</body>\n</html>\n"
http_version:
recorded_at: Thu, 23 Jul 2015 02:21:55 GMT
recorded_with: VCR 2.9.3

View File

@ -0,0 +1,489 @@
---
http_interactions:
- request:
method: get
uri: http://www.factorioforums.com/forum/viewforum.php?f=86
body:
encoding: US-ASCII
string: ''
headers:
User-Agent:
- Typhoeus - https://github.com/typhoeus/typhoeus
response:
status:
code: 200
message: OK
headers:
Date:
- Wed, 22 Jul 2015 21:57:36 GMT
Server:
- Apache/2.2.29 (Unix) mod_ssl/2.2.29 OpenSSL/1.0.1e-fips mod_fcgid/2.3.7
X-Powered-By:
- PHP/5.4.37
Cache-Control:
- private, no-cache="set-cookie"
Expires:
- '0'
Pragma:
- no-cache
Set-Cookie:
- phpbb3_cobst_k=; expires=Thu, 21-Jul-2016 21:57:36 GMT; path=/; domain=factorioforums.com;
HttpOnly
- phpbb3_cobst_sid=ed0decb8d90ce42d0ad0bff8846d9d60; expires=Thu, 21-Jul-2016
21:57:36 GMT; path=/; domain=factorioforums.com; HttpOnly
- phpbb3_cobst_u=1; expires=Thu, 21-Jul-2016 21:57:36 GMT; path=/; domain=factorioforums.com;
HttpOnly
Transfer-Encoding:
- chunked
Content-Type:
- text/html; charset=UTF-8
body:
encoding: UTF-8
string: "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html
xmlns=\"http://www.w3.org/1999/xhtml\" dir=\"ltr\" lang=\"en-gb\" xml:lang=\"en-gb\">\n<head>\n<link
href='http://fonts.googleapis.com/css?family=Titillium+Web:400,600,700&subset=latin,latin-ext'
rel='stylesheet' type='text/css'>\n<meta http-equiv=\"content-type\" content=\"text/html;
charset=UTF-8\" />\n<meta http-equiv=\"content-style-type\" content=\"text/css\"
/>\n<meta http-equiv=\"content-language\" content=\"en-gb\" />\n<meta http-equiv=\"imagetoolbar\"
content=\"no\" />\n<meta name=\"resource-type\" content=\"document\" />\n<meta
name=\"distribution\" content=\"global\" />\n<meta name=\"keywords\" content=\"\"
/>\n<meta name=\"description\" content=\"\" />\n\n<title>Forums &bull; View
forum - Helper mods (&lt;=0.11)</title>\n\n<link rel=\"alternate\" type=\"application/atom+xml\"
title=\"Feed - Forums\" href=\"http://www.factorioforums.com/forum/feed.php\"
/><link rel=\"alternate\" type=\"application/atom+xml\" title=\"Feed - News\"
href=\"http://www.factorioforums.com/forum/feed.php?mode=news\" /><link rel=\"alternate\"
type=\"application/atom+xml\" title=\"Feed - New Topics\" href=\"http://www.factorioforums.com/forum/feed.php?mode=topics\"
/><link rel=\"alternate\" type=\"application/atom+xml\" title=\"Feed - Forum
- Helper mods (&lt;=0.11)\" href=\"http://www.factorioforums.com/forum/feed.php?f=86\"
/>\n\n<!--\n\tphpBB style name: Factorio\n\tBased on style: prosilver (this
is the default phpBB3 style)\n\tOriginal author: Tom Beddard ( http://www.subBlue.com/
)\n\tModified by: Graphic Albert (http://www.Factorio.com)\n-->\n\n<script
type=\"text/javascript\">\n// <![CDATA[\n\tvar jump_page = 'Enter the page
number you wish to go to:';\n\tvar on_page = '1';\n\tvar per_page = '';\n\tvar
base_url = '';\n\tvar style_cookie = 'phpBBstyle';\n\tvar style_cookie_settings
= '; path=/; domain=factorioforums.com';\n\tvar onload_functions = new Array();\n\tvar
onunload_functions = new Array();\n\n\t\n\n\t/**\n\t* Find a member\n\t*/\n\tfunction
find_username(url)\n\t{\n\t\tpopup(url, 760, 570, '_usersearch');\n\t\treturn
false;\n\t}\n\n\t/**\n\t* New function for handling multiple calls to window.onload
and window.unload by pentapenguin\n\t*/\n\twindow.onload = function()\n\t{\n\t\tfor
(var i = 0; i < onload_functions.length; i++)\n\t\t{\n\t\t\teval(onload_functions[i]);\n\t\t}\n\t};\n\n\twindow.onunload
= function()\n\t{\n\t\tfor (var i = 0; i < onunload_functions.length; i++)\n\t\t{\n\t\t\teval(onunload_functions[i]);\n\t\t}\n\t};\n\n//
]]>\n</script>\n<script type=\"text/javascript\" src=\"./styles/prosilver/template/styleswitcher.js\"></script>\n<script
type=\"text/javascript\" src=\"./styles/prosilver/template/forum_fn.js\"></script>\n\n<link
href=\"./styles/factorio/theme/print.css\" rel=\"stylesheet\" type=\"text/css\"
media=\"print\" title=\"printonly\" />\n<link href=\"./style.php?id=4&amp;lang=en&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
rel=\"stylesheet\" type=\"text/css\" media=\"screen, projection\" />\n\n<link
href=\"./styles/factorio/theme/normal.css\" rel=\"stylesheet\" type=\"text/css\"
title=\"A\" />\n<link href=\"./styles/factorio/theme/medium.css\" rel=\"alternate
stylesheet\" type=\"text/css\" title=\"A+\" />\n<link href=\"./styles/factorio/theme/large.css\"
rel=\"alternate stylesheet\" type=\"text/css\" title=\"A++\" />\n\n<script
type=\"text/javascript\"><!--\n\tvar spoiler_show = \"[Reveal]\";\n\tvar spoiler_hide
= \"[Obscure]\";\n//--></script>\n<script type=\"text/javascript\" src=\"./styles/factorio/template/prime_bbcode_spoiler.js\"></script>\n<link
href=\"./styles/factorio/theme/prime_bbcode_spoiler.css\" rel=\"stylesheet\"
type=\"text/css\" />\n</head>\n\n<body id=\"phpbb\" class=\"section-viewforum
ltr\">\n<div id=\"wrap\">\n<a id=\"top\" name=\"top\" accesskey=\"t\"></a>\n\t<div
id=\"page-header\">\n\t\t<div class=\"headerbar\">\n\t\t\t<div class=\"inner\"><span
class=\"corners-top\"><span></span></span>\n\n\t\t\t<div id=\"site-description\">\n\t\t\t\t<a
href=\"./index.php?sid=ed0decb8d90ce42d0ad0bff8846d9d60\" title=\"Board index\"
id=\"logo\"><img src=\"./styles/factorio/imageset/factorio.png\" width=\"625\"
height=\"110\" alt=\"\" title=\"\" /></a>\n\t\t\t\t<h1>Forums</h1>\n\t\t\t\t<p><a
href=\"http://www.factorio.com\">www.factorio.com</a></p>\n\t\t\t\t<p class=\"skiplink\"><a
href=\"#start_here\">Skip to content</a></p>\n\t\t\t</div>\n\n\t\t\n\t\t\t<div
id=\"search-box\">\n\t\t\t\t<form action=\"./search.php?sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
method=\"get\" id=\"search\">\n\t\t\t\t<fieldset>\n\t\t\t\t\t<input name=\"keywords\"
id=\"keywords\" type=\"text\" maxlength=\"128\" title=\"Search for keywords\"
class=\"inputbox search\" value=\"Search…\" onclick=\"if(this.value=='Search…')this.value='';\"
onblur=\"if(this.value=='')this.value='Search…';\" />\n\t\t\t\t\t<input class=\"button2\"
value=\"Search\" type=\"submit\" /><br />\n\t\t\t\t\t<a href=\"./search.php?sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
title=\"View the advanced search options\">Advanced search</a> <input type=\"hidden\"
name=\"sid\" value=\"ed0decb8d90ce42d0ad0bff8846d9d60\" />\n\n\t\t\t\t</fieldset>\n\t\t\t\t</form>\n\t\t\t</div>\n\t\t\n\n\t\t\t<span
class=\"corners-bottom\"><span></span></span></div>\n\t\t</div>\n\n\t\t<div
class=\"navbar\">\n\t\t\t<div class=\"inner\"><span class=\"corners-top\"><span></span></span>\n\n\t\t\t<ul
class=\"linklist navlinks\">\n\t\t\t\t<li class=\"icon-home\"><a href=\"./index.php?sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
accesskey=\"h\">Board index</a> <strong>&#8249;</strong> <a href=\"./viewforum.php?f=10&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Contributions</a>
<strong>&#8249;</strong> <a href=\"./viewforum.php?f=14&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Mods</a>
<strong>&#8249;</strong> <a href=\"./viewforum.php?f=84&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Mods
for 0.11 and below</a> <strong>&#8249;</strong> <a href=\"./viewforum.php?f=86&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Helper
mods (&lt;=0.11)</a></li>\n\n\t\t\t\t<li class=\"rightside\"><a href=\"#\"
onclick=\"fontsizeup(); return false;\" onkeypress=\"return fontsizeup(event);\"
class=\"fontsize\" title=\"Change font size\">Change font size</a></li>\n\n\t\t\t\t\n\t\t\t</ul>\n\n\t\t\t\n\n\t\t\t<ul
class=\"linklist rightside\">\n\t\t\t\t<li class=\"icon-faq\"><a href=\"./faq.php?sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
title=\"Frequently Asked Questions\">FAQ</a></li>\n\t\t\t\t<li class=\"icon-register\"><a
href=\"./ucp.php?mode=register&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Register</a></li>\n\t\t\t\t\t<li
class=\"icon-logout\"><a href=\"./ucp.php?mode=login&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
title=\"Login\" accesskey=\"x\">Login</a></li>\n\t\t\t\t\n\t\t\t</ul>\n\n\t\t\t<span
class=\"corners-bottom\"><span></span></span></div>\n\t\t</div>\n\n\t</div>\n\n\t<a
name=\"start_here\"></a>\n\t<div id=\"page-body\">\n\t\t\n<h2><a href=\"./viewforum.php?f=86&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Helper
mods (&lt;=0.11)</a></h2>\n\n\n<div>\n\t<!-- NOTE: remove the style=\"display:
none\" when you want to have the forum description on the forum body --><div
style=\"display: none !important;\">These mods are not game-changing, but
enhance the gameplay by helping you with useful functions.<br />From showing
the current game-time, over keep track over your resources to rail-laying.<br
/>You can create here new threads on your own.<br /></div>\n</div>\n\n\t\t<div
class=\"forabg\">\n\t\t\t<div class=\"inner\"><span class=\"corners-top\"><span></span></span>\n\t\t\t<ul
class=\"topiclist\">\n\t\t\t\t<li class=\"header\">\n\t\t\t\t\t<dl class=\"icon\">\n\t\t\t\t\t\t<dt>Forum</dt>\n\t\t\t\t\t\t<dd
class=\"topics\">Topics</dd>\n\t\t\t\t\t\t<dd class=\"posts\">Posts</dd>\n\t\t\t\t\t\t<dd
class=\"lastpost\"><span>Last post</span></dd>\n\t\t\t\t\t</dl>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t\t<ul
class=\"topiclist forums\">\n\t\n\t\t<li class=\"row\">\n\t\t\t<dl class=\"icon\"
style=\"background-image: url(./styles/factorio/imageset/forum_link.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\">\n\t\t\t\t\n\t\t\t\t\t<a
href=\"http://www.factorioforums.com/forum/viewforum.php?f=61\" class=\"forumtitle\">F.A.R.L.
/ Rail Layer (Link)</a><br />\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t</dt>\n\t\t\t\t\n\t\t\t</dl>\n\t\t</li>\n\t\n\t\t<li
class=\"row\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/forum_read.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\">\n\t\t\t\t<!--
<a class=\"feed-icon-forum\" title=\"Feed - Test mode\" href=\"http://www.factorioforums.com/forum/feed.php?f=46\"><img
src=\"./styles/factorio/theme/images/feed.gif\" alt=\"Feed - Test mode\" /></a>
-->\n\t\t\t\t\t<a href=\"./viewforum.php?f=46&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
class=\"forumtitle\">Test mode</a><br />\n\t\t\t\t\tKind of like creative
mode. Very useful for testing and ... ehrm... cheating.\n\t\t\t\t\t\n\t\t\t\t</dt>\n\t\t\t\t\n\t\t\t\t\t<dd
class=\"topics\">5 <dfn>Topics</dfn></dd>\n\t\t\t\t\t<dd class=\"posts\">220
<dfn>Posts</dfn></dd>\n\t\t\t\t\t<dd class=\"lastpost\"><span>\n\t\t\t\t\t\t<dfn>Last
post</dfn> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=96&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">rk84</a>\n\t\t\t\t\t\t<a
href=\"./viewtopic.php?f=46&amp;p=93601&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60#p93601\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
Jul 22, 2015 9:22 pm</span>\n\t\t\t\t\t</dd>\n\t\t\t\t\n\t\t\t</dl>\n\t\t</li>\n\t\n\t\t\t</ul>\n\n\t\t\t<span
class=\"corners-bottom\"><span></span></span></div>\n\t\t</div>\n\t\n\t<div
class=\"topic-actions\" style=\"margin-top: 2em;\">\n\n\t\n\t\t<div class=\"buttons\">\n\t\t\t<div
class=\"post-icon\" title=\"Post a new topic\"><a href=\"./posting.php?mode=post&amp;f=86&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\"><span></span>Post
a new topic</a></div>\n\t\t</div>\n\t\n\t\t<div class=\"search-box\">\n\t\t\t<form
method=\"get\" id=\"forum-search\" action=\"./search.php?sid=ed0decb8d90ce42d0ad0bff8846d9d60\">\n\t\t\t<fieldset>\n\t\t\t\t<input
class=\"inputbox search tiny\" type=\"text\" name=\"keywords\" id=\"search_keywords\"
size=\"20\" value=\"Search this forum…\" onclick=\"if (this.value == 'Search
this forum…') this.value = '';\" onblur=\"if (this.value == '') this.value
= 'Search this forum…';\" />\n\t\t\t\t<input class=\"button2\" type=\"submit\"
value=\"Search\" />\n\t\t\t\t<input type=\"hidden\" name=\"fid[0]\" value=\"86\"
/>\n<input type=\"hidden\" name=\"sid\" value=\"ed0decb8d90ce42d0ad0bff8846d9d60\"
/>\n\n\t\t\t</fieldset>\n\t\t\t</form>\n\t\t</div>\n\t\n\t\t<div class=\"pagination\">\n\t\t\t10
topics &bull; Page <strong>1</strong> of <strong>1</strong>\n\t\t</div>\n\t\n\n\t</div>\n\n\t\t<div
class=\"forumbg\">\n\t\t<div class=\"inner\"><span class=\"corners-top\"><span></span></span>\n\t\t<ul
class=\"topiclist\">\n\t\t\t<li class=\"header\">\n\t\t\t\t<dl class=\"icon\">\n\t\t\t\t\t<dt>Topics</dt>\n\t\t\t\t\t<dd
class=\"posts\">Replies</dd>\n\t\t\t\t\t<dd class=\"views\">Views</dd>\n\t\t\t\t\t<dd
class=\"lastpost\"><span>Last post</span></dd>\n\t\t\t\t</dl>\n\t\t\t</li>\n\t\t</ul>\n\t\t<ul
class=\"topiclist topics\">\n\t\n\n\t\t<li class=\"row bg1\">\n\t\t\t<dl class=\"icon\"
style=\"background-image: url(./styles/factorio/imageset/topic_read_hot.gif);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=86&amp;t=6516&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
class=\"topictitle\">[Mod 0.11.x] Foreman - Blueprint Manager</a>\n\t\t\t\t\t<br
/>\n\t\t\t\t\t<strong class=\"pagination\"><span><a href=\"./viewtopic.php?f=86&amp;t=6516&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">1</a><span
class=\"page-dots\"> ... </span><a href=\"./viewtopic.php?f=86&amp;t=6516&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=40\">5</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&amp;t=6516&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=50\">6</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&amp;t=6516&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=60\">7</a></span></strong><img
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=2149&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">JamesOFarrell</a>
&raquo; Thu Nov 06, 2014 1:17 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">63
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">9984 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=6092&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Swich</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=86&amp;t=6516&amp;p=93450&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60#p93450\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
Jul 22, 2015 2:08 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read_hot.gif);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=86&amp;t=2855&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
class=\"topictitle\">[MOD 0.11.x] Resource-Monitor-Mod v0.5.2</a>\n\t\t\t\t\t<br
/>\n\t\t\t\t\t<strong class=\"pagination\"><span><a href=\"./viewtopic.php?f=86&amp;t=2855&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">1</a><span
class=\"page-dots\"> ... </span><a href=\"./viewtopic.php?f=86&amp;t=2855&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=70\">8</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&amp;t=2855&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=80\">9</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&amp;t=2855&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=90\">10</a></span></strong><img
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=377&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">drs9999</a>
&raquo; Tue Mar 18, 2014 6:17 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">96
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">22857 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=1310&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">jorgenRe</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=86&amp;t=2855&amp;p=92679&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60#p92679\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Mon
Jul 20, 2015 3:42 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=86&amp;t=8336&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
class=\"topictitle\">[0.11.x]Item Count 0.0.1</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<img
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=2283&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">ThaPear</a>
&raquo; Thu Jan 29, 2015 2:57 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">9
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">2008 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=7884&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">oLaudix</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=86&amp;t=8336&amp;p=92316&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60#p92316\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Sun
Jul 19, 2015 3:59 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_moved.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"Moved topic\"><a href=\"./viewtopic.php?f=92&amp;t=4504&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
class=\"topictitle\">[MOD 0.12.x] The Fat Controller. Remote train management</a>\n\t\t\t\t\t<br
/>\n\t\t\t\t\t<strong class=\"pagination\"><span><a href=\"./viewtopic.php?f=92&amp;t=4504&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">1</a><span
class=\"page-dots\"> ... </span><a href=\"./viewtopic.php?f=92&amp;t=4504&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=90\">10</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=92&amp;t=4504&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=100\">11</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=92&amp;t=4504&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=110\">12</a></span></strong><img
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=2149&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">JamesOFarrell</a>
&raquo; Mon Jun 23, 2014 11:01 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">117
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">18754 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=3391&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">cpw</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=92&amp;t=4504&amp;p=93299&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60#p93299\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
Jul 22, 2015 3:18 am</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=86&amp;t=13338&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
class=\"topictitle\">[0.11.22] Command Control - Remote viewing and management</a>\n\t\t\t\t\t<br
/>\n\t\t\t\t\t<strong class=\"pagination\"><span><a href=\"./viewtopic.php?f=86&amp;t=13338&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">1</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&amp;t=13338&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=10\">2</a></span></strong>by
<a href=\"./memberlist.php?mode=viewprofile&amp;u=8147&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">ljdp</a>
&raquo; Sat Jul 04, 2015 10:04 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">12
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">903 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=948&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Pandamonium</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=86&amp;t=13338&amp;p=90987&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60#p90987\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
Jul 15, 2015 2:22 am</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read_hot.gif);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=86&amp;t=12905&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
class=\"topictitle\">[0.11.x] Time Lapse Mod</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<strong
class=\"pagination\"><span><a href=\"./viewtopic.php?f=86&amp;t=12905&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">1</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&amp;t=12905&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=10\">2</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&amp;t=12905&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=20\">3</a></span></strong><img
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=5907&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">MrP123</a>
&raquo; Fri Jun 12, 2015 7:34 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">29
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">2336 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=5907&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">MrP123</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=86&amp;t=12905&amp;p=90438&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60#p90438\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Fri
Jul 10, 2015 12:45 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read_hot.gif);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=86&amp;t=5812&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
class=\"topictitle\">[0.11.x] Factorio Maps</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<strong
class=\"pagination\"><span><a href=\"./viewtopic.php?f=86&amp;t=5812&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">1</a><span
class=\"page-dots\"> ... </span><a href=\"./viewtopic.php?f=86&amp;t=5812&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=40\">5</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&amp;t=5812&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=50\">6</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&amp;t=5812&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=60\">7</a></span></strong><img
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=976&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">jeroon</a>
&raquo; Mon Sep 15, 2014 3:13 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">69
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">12103 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=7488&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">A_Factorio457</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=86&amp;t=5812&amp;p=90320&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60#p90320\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Thu
Jul 09, 2015 10:03 am</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read_hot.gif);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=86&amp;t=6742&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
class=\"topictitle\">[MOD 0.11.14+] Blueprint String</a>\n\t\t\t\t\t<br />\n\t\t\t\t\t<strong
class=\"pagination\"><span><a href=\"./viewtopic.php?f=86&amp;t=6742&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">1</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&amp;t=6742&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=10\">2</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&amp;t=6742&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=20\">3</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&amp;t=6742&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=30\">4</a></span></strong><img
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=1868&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">DaveMcW</a>
&raquo; Mon Nov 17, 2014 7:14 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">32
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">8013 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=3910&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Smarty</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=86&amp;t=6742&amp;p=90254&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60#p90254\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
Jul 08, 2015 8:24 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg1\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=86&amp;t=3757&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
class=\"topictitle\">[MOD 0.9.x] Colorblind Roboport Radius Overlay</a>\n\t\t\t\t\t<br
/>\n\t\t\t\t\t<strong class=\"pagination\"><span><a href=\"./viewtopic.php?f=86&amp;t=3757&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">1</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&amp;t=3757&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=10\">2</a></span></strong><img
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=2089&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Braddock</a>
&raquo; Wed May 21, 2014 12:35 am\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">12
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">1571 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=3910&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Smarty</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=86&amp;t=3757&amp;p=90251&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60#p90251\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
Jul 08, 2015 8:22 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\n\t\t<li
class=\"row bg2\">\n\t\t\t<dl class=\"icon\" style=\"background-image: url(./styles/factorio/imageset/topic_read.png);
background-repeat: no-repeat;\">\n\t\t\t\t<dt title=\"No unread posts\"><a
href=\"./viewtopic.php?f=86&amp;t=13147&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
class=\"topictitle\">[0.11.22] Recipe Clipboard [WIP/First]</a>\n\t\t\t\t\t<br
/>\n\t\t\t\t\t<strong class=\"pagination\"><span><a href=\"./viewtopic.php?f=86&amp;t=13147&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">1</a><span
class=\"page-sep\">, </span><a href=\"./viewtopic.php?f=86&amp;t=13147&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60&amp;start=10\">2</a></span></strong><img
src=\"./styles/factorio/imageset/icon_topic_attach.png\" width=\"16\" height=\"16\"
alt=\"Attachment(s)\" title=\"Attachment(s)\" /> by <a href=\"./memberlist.php?mode=viewprofile&amp;u=3751&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">leflings</a>
&raquo; Mon Jun 22, 2015 1:49 pm\n\t\t\t\t</dt>\n\t\t\t\t<dd class=\"posts\">11
<dfn>Replies</dfn></dd>\n\t\t\t\t<dd class=\"views\">1011 <dfn>Views</dfn></dd>\n\t\t\t\t<dd
class=\"lastpost\"><span><dfn>Last post </dfn>by <a href=\"./memberlist.php?mode=viewprofile&amp;u=2284&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
style=\"color: #00AA00;\" class=\"username-coloured\">Koub</a>\n\t\t\t\t\t<a
href=\"./viewtopic.php?f=86&amp;t=13147&amp;p=90245&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60#p90245\"><img
src=\"./styles/factorio/imageset/icon_topic_latest.png\" width=\"16\" height=\"16\"
alt=\"View the latest post\" title=\"View the latest post\" /></a> <br />Wed
Jul 08, 2015 8:04 pm</span>\n\t\t\t\t</dd>\n\t\t\t</dl>\n\t\t</li>\n\n\t\n\t\t\t</ul>\n\t\t<span
class=\"corners-bottom\"><span></span></span></div>\n\t</div>\n\t\n\t<form
method=\"post\" action=\"./viewforum.php?f=86&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">\n\t\t<fieldset
class=\"display-options\">\n\t\t\t\n\t\t\t<label>Display topics from previous:
<select name=\"st\" id=\"st\"><option value=\"0\" selected=\"selected\">All
Topics</option><option value=\"1\">1 day</option><option value=\"7\">7 days</option><option
value=\"14\">2 weeks</option><option value=\"30\">1 month</option><option
value=\"90\">3 months</option><option value=\"180\">6 months</option><option
value=\"365\">1 year</option></select></label>\n\t\t\t<label>Sort by <select
name=\"sk\" id=\"sk\"><option value=\"a\">Author</option><option value=\"t\"
selected=\"selected\">Post time</option><option value=\"r\">Replies</option><option
value=\"s\">Subject</option><option value=\"v\">Views</option></select></label>\n\t\t\t<label><select
name=\"sd\" id=\"sd\"><option value=\"a\">Ascending</option><option value=\"d\"
selected=\"selected\">Descending</option></select> <input type=\"submit\"
name=\"sort\" value=\"Go\" class=\"button2\" /></label>\n\t\n\t\t</fieldset>\n\t</form>\n\t<hr
/>\n\n\t<div class=\"topic-actions\">\n\t\t\n\t\t<div class=\"buttons\">\n\t\t\t<div
class=\"post-icon\" title=\"Post a new topic\"><a href=\"./posting.php?mode=post&amp;f=86&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\"><span></span>Post
a new topic</a></div>\n\t\t</div>\n\t\t\n\t\t<div class=\"pagination\">\n\t\t\t
10 topics &bull; Page <strong>1</strong> of <strong>1</strong>\n\t\t</div>\n\t\t\n\t</div>\n\n\t<p></p><p><a
href=\"./index.php?sid=ed0decb8d90ce42d0ad0bff8846d9d60\" class=\"left-box
left\" accesskey=\"r\">Return to Board index</a></p>\n\n\t<form method=\"post\"
id=\"jumpbox\" action=\"./viewforum.php?sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
onsubmit=\"if(this.f.value == -1){return false;}\">\n\n\t\n\t\t<fieldset class=\"jumpbox\">\n\t\n\t\t\t<label
for=\"f\" accesskey=\"j\">Jump to:</label>\n\t\t\t<select name=\"f\" id=\"f\"
onchange=\"if(this.options[this.selectedIndex].value != -1){ document.forms['jumpbox'].submit()
}\">\n\t\t\t\n\t\t\t\t<option value=\"-1\">Select a forum</option>\n\t\t\t<option
value=\"-1\">------------------</option>\n\t\t\t\t<option value=\"21\">General</option>\n\t\t\t\n\t\t\t\t<option
value=\"3\">&nbsp; &nbsp;Releases</option>\n\t\t\t\n\t\t\t\t<option value=\"38\">&nbsp;
&nbsp;News</option>\n\t\t\t\n\t\t\t\t<option value=\"5\">&nbsp; &nbsp;General
discussion</option>\n\t\t\t\n\t\t\t\t<option value=\"53\">&nbsp; &nbsp;Multiplayer</option>\n\t\t\t\n\t\t\t\t<option
value=\"8\">&nbsp; &nbsp;Show your Creations</option>\n\t\t\t\n\t\t\t\t<option
value=\"54\">&nbsp; &nbsp;&nbsp; &nbsp;Videos</option>\n\t\t\t\n\t\t\t\t<option
value=\"19\">&nbsp; &nbsp;Spread the Word</option>\n\t\t\t\n\t\t\t\t<option
value=\"27\">&nbsp; &nbsp;Off topic</option>\n\t\t\t\n\t\t\t\t<option value=\"55\">&nbsp;
&nbsp;This Forum</option>\n\t\t\t\n\t\t\t\t<option value=\"57\">&nbsp; &nbsp;&nbsp;
&nbsp;Trash area</option>\n\t\t\t\n\t\t\t\t<option value=\"17\">Support</option>\n\t\t\t\n\t\t\t\t<option
value=\"18\">&nbsp; &nbsp;Gameplay Help</option>\n\t\t\t\n\t\t\t\t<option
value=\"49\">&nbsp; &nbsp;Technical Help</option>\n\t\t\t\n\t\t\t\t<option
value=\"7\">&nbsp; &nbsp;Bug Reports</option>\n\t\t\t\n\t\t\t\t<option value=\"11\">&nbsp;
&nbsp;&nbsp; &nbsp;Resolved Problems and Bugs</option>\n\t\t\t\n\t\t\t\t<option
value=\"30\">&nbsp; &nbsp;&nbsp; &nbsp;Resolved for the next release</option>\n\t\t\t\n\t\t\t\t<option
value=\"23\">&nbsp; &nbsp;&nbsp; &nbsp;Not a bug</option>\n\t\t\t\n\t\t\t\t<option
value=\"29\">&nbsp; &nbsp;&nbsp; &nbsp;Pending</option>\n\t\t\t\n\t\t\t\t<option
value=\"35\">&nbsp; &nbsp;&nbsp; &nbsp;1 / 0 magic</option>\n\t\t\t\n\t\t\t\t<option
value=\"41\">&nbsp; &nbsp;&nbsp; &nbsp;Known issues</option>\n\t\t\t\n\t\t\t\t<option
value=\"47\">&nbsp; &nbsp;&nbsp; &nbsp;Duplicates</option>\n\t\t\t\n\t\t\t\t<option
value=\"48\">&nbsp; &nbsp;&nbsp; &nbsp;Minor issues</option>\n\t\t\t\n\t\t\t\t<option
value=\"58\">&nbsp; &nbsp;&nbsp; &nbsp;Won't fix.</option>\n\t\t\t\n\t\t\t\t<option
value=\"20\">Factorio Direction</option>\n\t\t\t\n\t\t\t\t<option value=\"9\">&nbsp;
&nbsp;Development Proposals</option>\n\t\t\t\n\t\t\t\t<option value=\"6\">&nbsp;
&nbsp;Ideas and Suggestions</option>\n\t\t\t\n\t\t\t\t<option value=\"80\">&nbsp;
&nbsp;&nbsp; &nbsp;Concepts</option>\n\t\t\t\n\t\t\t\t<option value=\"76\">&nbsp;
&nbsp;&nbsp; &nbsp;Backlog (old, but good stuff)</option>\n\t\t\t\n\t\t\t\t<option
value=\"67\">&nbsp; &nbsp;&nbsp; &nbsp;Forum-Ready Suggestions</option>\n\t\t\t\n\t\t\t\t<option
value=\"68\">&nbsp; &nbsp;&nbsp; &nbsp;Ready for implementation</option>\n\t\t\t\n\t\t\t\t<option
value=\"66\">&nbsp; &nbsp;&nbsp; &nbsp;Implemented Suggestions</option>\n\t\t\t\n\t\t\t\t<option
value=\"71\">&nbsp; &nbsp;&nbsp; &nbsp;Outdated/Not implemented</option>\n\t\t\t\n\t\t\t\t<option
value=\"16\">&nbsp; &nbsp;Balancing</option>\n\t\t\t\n\t\t\t\t<option value=\"10\">Contributions</option>\n\t\t\t\n\t\t\t\t<option
value=\"14\">&nbsp; &nbsp;Mods</option>\n\t\t\t\n\t\t\t\t<option value=\"88\">&nbsp;
&nbsp;&nbsp; &nbsp;Spotlights and Rating</option>\n\t\t\t\n\t\t\t\t<option
value=\"89\">&nbsp; &nbsp;&nbsp; &nbsp;Mod Rules &amp; Discuss this Board</option>\n\t\t\t\n\t\t\t\t<option
value=\"83\">&nbsp; &nbsp;&nbsp; &nbsp;Mods for 0.12</option>\n\t\t\t\n\t\t\t\t<option
value=\"98\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Rules</option>\n\t\t\t\n\t\t\t\t<option
value=\"97\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Work-In-Progress / Pre-Alpha
Mods (0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"91\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;General Mods (0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"122\">&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bugs &amp; Suggestions</option>\n\t\t\t\n\t\t\t\t<option
value=\"121\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Unofficial
Updated Mods / Unofficial Patches</option>\n\t\t\t\n\t\t\t\t<option value=\"92\">&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Helper mods (0.12)</option>\n\t\t\t\n\t\t\t\t<option
value=\"123\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bugs &amp;
Suggestions</option>\n\t\t\t\n\t\t\t\t<option value=\"61\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Rail Layer</option>\n\t\t\t\n\t\t\t\t<option
value=\"116\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"93\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;New Items, Entities, Extensions
(0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"124\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bugs &amp; Suggestions</option>\n\t\t\t\n\t\t\t\t<option
value=\"94\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Gameplay / Convenience
(0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"125\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bugs &amp; Suggestions</option>\n\t\t\t\n\t\t\t\t<option
value=\"44\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Treefarm</option>\n\t\t\t\n\t\t\t\t<option
value=\"103\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"79\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Resource
Spawner Overhaul</option>\n\t\t\t\n\t\t\t\t<option value=\"108\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"64\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Atomic Power</option>\n\t\t\t\n\t\t\t\t<option
value=\"115\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"95\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Mod Compilations / Complete
Overhauls (0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"126\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bugs &amp; Suggestions</option>\n\t\t\t\n\t\t\t\t<option
value=\"43\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;DyTech</option>\n\t\t\t\n\t\t\t\t<option
value=\"99\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"51\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bob's mods</option>\n\t\t\t\n\t\t\t\t<option
value=\"105\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"81\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;5dim's mod</option>\n\t\t\t\n\t\t\t\t<option
value=\"110\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"70\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Yuoki Industries</option>\n\t\t\t\n\t\t\t\t<option
value=\"112\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"96\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Mod Packs / Libs / Special
Interest (0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"127\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bugs &amp; Suggestions</option>\n\t\t\t\n\t\t\t\t<option
value=\"60\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;ShadowMegaModpack</option>\n\t\t\t\n\t\t\t\t<option
value=\"118\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"120\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Unofficial Updated Mods
/ Unofficial Patches (0.12)</option>\n\t\t\t\n\t\t\t\t<option value=\"128\">&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bugs &amp; Suggestions</option>\n\t\t\t\n\t\t\t\t<option
value=\"84\">&nbsp; &nbsp;&nbsp; &nbsp;Mods for 0.11 and below</option>\n\t\t\t\n\t\t\t\t<option
value=\"90\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Rules</option>\n\t\t\t\n\t\t\t\t<option
value=\"32\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Work In Progress Mods
(&lt;=0.11)</option>\n\t\t\t\n\t\t\t\t<option value=\"87\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;Mods (&lt;=0.11)</option>\n\t\t\t\n\t\t\t\t<option value=\"86\"
selected=\"selected\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Helper mods (&lt;=0.11)</option>\n\t\t\t\n\t\t\t\t<option
value=\"117\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;F.A.R.L.
/ Rail Layer (Link)</option>\n\t\t\t\n\t\t\t\t<option value=\"46\">&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Test mode</option>\n\t\t\t\n\t\t\t\t<option
value=\"42\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Big mods (&lt;=0.11)</option>\n\t\t\t\n\t\t\t\t<option
value=\"102\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;DyTech (Link)</option>\n\t\t\t\n\t\t\t\t<option
value=\"104\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Treefarm
(Link)</option>\n\t\t\t\n\t\t\t\t<option value=\"106\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Bob's mods (link)</option>\n\t\t\t\n\t\t\t\t<option
value=\"107\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Resource
Spawner Overhaul (link)</option>\n\t\t\t\n\t\t\t\t<option value=\"109\">&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;5dim's mod (link)</option>\n\t\t\t\n\t\t\t\t<option
value=\"111\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Uranium
Power (Link)</option>\n\t\t\t\n\t\t\t\t<option value=\"113\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Yuoki Industries (Link)</option>\n\t\t\t\n\t\t\t\t<option
value=\"45\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;F mod</option>\n\t\t\t\n\t\t\t\t<option
value=\"59\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"62\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Cartmen's
Complete Overhaul</option>\n\t\t\t\n\t\t\t\t<option value=\"114\">&nbsp; &nbsp;&nbsp;
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Archive</option>\n\t\t\t\n\t\t\t\t<option
value=\"63\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;MoMods</option>\n\t\t\t\n\t\t\t\t<option
value=\"77\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Hardc☸rio</option>\n\t\t\t\n\t\t\t\t<option
value=\"78\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Cursed Exp</option>\n\t\t\t\n\t\t\t\t<option
value=\"85\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Modpacks (&lt;=0.11)</option>\n\t\t\t\n\t\t\t\t<option
value=\"119\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;ShadowsMegaModpack
(Link)</option>\n\t\t\t\n\t\t\t\t<option value=\"40\">&nbsp; &nbsp;&nbsp;
&nbsp;Obsolete mods</option>\n\t\t\t\n\t\t\t\t<option value=\"82\">&nbsp;
&nbsp;Modding Discussions</option>\n\t\t\t\n\t\t\t\t<option value=\"34\">&nbsp;
&nbsp;&nbsp; &nbsp;Modding discussion</option>\n\t\t\t\n\t\t\t\t<option value=\"25\">&nbsp;
&nbsp;&nbsp; &nbsp;Modding help</option>\n\t\t\t\n\t\t\t\t<option value=\"33\">&nbsp;
&nbsp;&nbsp; &nbsp;Ideas and Requests For Mods</option>\n\t\t\t\n\t\t\t\t<option
value=\"28\">&nbsp; &nbsp;&nbsp; &nbsp;Modding interface requests</option>\n\t\t\t\n\t\t\t\t<option
value=\"65\">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Implemented mod requests</option>\n\t\t\t\n\t\t\t\t<option
value=\"36\">&nbsp; &nbsp;Maps and Scenarios</option>\n\t\t\t\n\t\t\t\t<option
value=\"12\">&nbsp; &nbsp;Translations</option>\n\t\t\t\n\t\t\t\t<option value=\"15\">&nbsp;
&nbsp;Texture Packs</option>\n\t\t\t\n\t\t\t\t<option value=\"69\">&nbsp;
&nbsp;Tools</option>\n\t\t\t\n\t\t\t\t<option value=\"50\">&nbsp; &nbsp;Wiki
Talk</option>\n\t\t\t\n\t\t\t</select>\n\t\t\t<input type=\"submit\" value=\"Go\"
class=\"button2\" />\n\t\t</fieldset>\n\t</form>\n\n\n\t<h3>Who is online</h3>\n\t<p>Users
browsing this forum: No registered users and 1 guest</p>\n\n\t<h3>Forum permissions</h3>\n\t<p>You
<strong>cannot</strong> post new topics in this forum<br />You <strong>cannot</strong>
reply to topics in this forum<br />You <strong>cannot</strong> edit your posts
in this forum<br />You <strong>cannot</strong> delete your posts in this forum<br
/>You <strong>cannot</strong> post attachments in this forum<br /></p>\n</div>\n\n<div
id=\"page-footer\">\n\n\t<div class=\"navbar\">\n\t\t<div class=\"inner\"><span
class=\"corners-top\"><span></span></span>\n\n\t\t<ul class=\"linklist\">\n\t\t\t<li
class=\"icon-home\"><a href=\"./index.php?sid=ed0decb8d90ce42d0ad0bff8846d9d60\"
accesskey=\"h\">Board index</a></li>\n\t\t\t\t\n\t\t\t<li class=\"rightside\"><a
href=\"./memberlist.php?mode=leaders&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">The
team</a> &bull; <a href=\"./ucp.php?mode=delete_cookies&amp;sid=ed0decb8d90ce42d0ad0bff8846d9d60\">Delete
all board cookies</a> &bull; All times are UTC </li>\n\t\t</ul>\n\n\t\t<span
class=\"corners-bottom\"><span></span></span></div>\n\t</div>\n\n\t<div class=\"copyright\">Powered
by <a href=\"http://www.phpbb.com/\">phpBB</a>&reg; Forum Software &copy;
phpBB Group\n\t\t\n\t</div>\n</div>\n\n</div>\n\n<div>\n\t<a id=\"bottom\"
name=\"bottom\" accesskey=\"z\"></a>\n\t\n</div>\n\n</body>\n</html>"
http_version:
recorded_at: Wed, 22 Jul 2015 21:57:37 GMT
recorded_with: VCR 2.9.3

View File

@ -1,22 +0,0 @@
require 'rails_helper'
describe ForumPostScraper do
def fixture(name)
file_name = File.expand_path("../../fixtures/forum_post/#{name}.html", __FILE__)
File.read file_name
end
def stub_page(url, name)
web_content = fixture name
stub_request(:get, url).to_return body: web_content
end
it 'should return the forum post filled with a "content" parameter' do
forum_post = create :forum_post
stub_page forum_post.url, 'basic_post'
scraper = ForumPostScraper.new forum_post
forum_post = scraper.scrap
# Very fragile to match the exact HTML Nokogiri outputs, but whatever
expect(forum_post.content).to eq "<h3>Hey there</h3>\n<strong>I'm here to kill you!</strong><ul>\n<li>And a list of stuff!</li>\n<li>And more stuff!</li>\n</ul>"
end
end

View File

@ -1,149 +0,0 @@
require 'rails_helper'
describe ForumPostsScraper do
subject(:scraper){ ForumPostsScraper.new }
def fixture(name)
file_name = File.expand_path("../../fixtures/forum_pages/#{name}.html", __FILE__)
File.read file_name
end
def stub_page(url, name)
web_content = fixture name
stub_request(:get, url).to_return body: web_content
end
def stub_forum_page(number)
from = (number-1)*25
stub_page "http://www.factorioforums.com/forum/viewforum.php?f=87&start=#{from}", "page_#{number}"
end
it 'should be created without any argument' do
expect{scraper}.to_not raise_error
end
describe '#scrap' do
before :each do
stub_forum_page 1
stub_forum_page 2
stub_forum_page 3
stub_forum_page 4
stub_forum_page 5
end
it 'should return a list' do
expect(scraper.scrap.size).to eq 101
end
it 'should return forum posts with the correct #titles' do
scraper.scrap.map { |post| expect(post).to be_kind_of ForumPost }
end
it 'should return forum posts with the correct #titles' do
posts = scraper.scrap
expect(posts[0].title).to eq '[MOD 0.10.x] Trailer Mod'
expect(posts[1].title).to eq '[0.10.4+] Bumpers'
expect(posts[2].title).to eq "[0.10.x] Bob's Ore Mod."
expect(posts[3].title).to eq '[MOD 0.10.x] Tanks'
expect(posts[4].title).to eq '[MOD 0.10.2] Automatic Rail Laying Machine'
end
it 'should return the forum posts with the correct #published_at' do
posts = scraper.scrap
expect(posts[0].published_at).to eq DateTime.parse 'Thu Jun 12, 2014 5:40 am UTC-3'
expect(posts[1].published_at).to eq DateTime.parse 'Sat Aug 02, 2014 11:24 am UTC-3'
expect(posts[2].published_at).to eq DateTime.parse 'Thu May 22, 2014 9:05 am UTC-3'
expect(posts[3].published_at).to eq DateTime.parse 'Sun Aug 10, 2014 4:40 pm UTC-3'
expect(posts[4].published_at).to eq DateTime.parse 'Fri Jun 13, 2014 1:03 am UTC-3'
end
it 'should return the forum posts with the correct #last_post_at' do
posts = scraper.scrap
expect(posts[0].last_post_at).to eq DateTime.parse 'Sun Jul 13, 2014 5:10 pm UTC-3'
expect(posts[1].last_post_at).to eq DateTime.parse 'Mon Aug 11, 2014 1:16 pm UTC-3'
expect(posts[2].last_post_at).to eq DateTime.parse 'Sun Aug 10, 2014 11:23 pm UTC-3'
expect(posts[3].last_post_at).to eq DateTime.parse 'Sun Aug 10, 2014 5:11 pm UTC-3'
expect(posts[4].last_post_at).to eq DateTime.parse 'Sun Aug 10, 2014 11:01 am UTC-3'
end
it 'should return the number of #views_count' do
posts = scraper.scrap
expect(posts[0].views_count).to eq 4292
expect(posts[1].views_count).to eq 1034
expect(posts[2].views_count).to eq 7327
expect(posts[3].views_count).to eq 166
expect(posts[4].views_count).to eq 4905
end
it 'should return the number of #comments_count' do
posts = scraper.scrap
expect(posts[0].comments_count).to eq 9
expect(posts[1].comments_count).to eq 10
expect(posts[2].comments_count).to eq 100
expect(posts[3].comments_count).to eq 2
expect(posts[4].comments_count).to eq 42
end
it 'should return the #author_name' do
posts = scraper.scrap
expect(posts[0].author_name).to eq 'slpwnd'
expect(posts[1].author_name).to eq 'Schmendrick'
expect(posts[2].author_name).to eq 'bobingabout'
expect(posts[3].author_name).to eq 'SkaceKachna'
expect(posts[4].author_name).to eq 'kolli'
end
it 'should return the post #url' do
posts = scraper.scrap
expect(posts[0].url).to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=14&t=4273'
expect(posts[1].url).to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=14&t=5127'
expect(posts[2].url).to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=14&t=3797'
expect(posts[3].url).to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=14&t=5299'
expect(posts[4].url).to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=14&t=4287'
end
it 'should return the #post_number' do
posts = scraper.scrap
expect(posts[0].post_number).to eq 4273
expect(posts[1].post_number).to eq 5127
expect(posts[2].post_number).to eq 3797
expect(posts[3].post_number).to eq 5299
expect(posts[4].post_number).to eq 4287
end
# context 'live testing' do
# before(:each){ WebMock.disable! }
# after(:each){ WebMock.enable! }
# it 'should work' do
# posts = scraper.scrap
# posts.each(&:save!)
# end
# end
context 'posts already exist' do
it 'identifies them from the #post_number and returns them updated' do
post1 = create :forum_post, post_number: 4273
post2 = create :forum_post, post_number: 5127
post3 = create :forum_post, post_number: 3797
posts = scraper.scrap
expect(posts[0]).to eq post1
expect(posts[1]).to eq post2
expect(posts[2]).to eq post3
end
context 'title has changed' do
it 'should set #title_changed to true' do
post1 = create :forum_post, post_number: 4273, title: 'PTARTASRTRASTASRTSRAT', title_changed: false
post2 = create :forum_post, post_number: 5127, title: '[0.10.4+] Bumpers', title_changed: false
posts = scraper.scrap
expect(posts[0].title_changed).to eq true
expect(posts[1].title_changed).to eq false
end
end
end
end
end

View File

@ -0,0 +1,49 @@
require 'rails_helper'
describe Scraper::BaseProcessor do
it 'should initialize with 4 arguments' do
doc = Nokogiri::HTML('<html></html>')
request = Struct.new(:url).new('http://potato.com')
response = Struct.new(:body).new('<html></html>')
scraper = Scraper::Base.new('http://purple.com')
initial_url = 'http://purple.com'
Scraper::BaseProcessor.new(doc, request, response, scraper, initial_url)
end
describe '.regexp' do
it 'should return a nonmatching regex by default' do
expect(Scraper::BaseProcessor.regexp).to eq /(?!)/
end
it 'should save the regex when called with a value' do
class ExtendedProcessor < Scraper::BaseProcessor
regexp /potato/
end
expect(ExtendedProcessor.regexp).to eq /potato/
expect(Scraper::BaseProcessor.regexp).to eq /(?!)/
end
end
it 'should delegate :add_to_queue and :add_to_queue_unless_there to the scraper' do
class ExtendedProcessor < Scraper::BaseProcessor
def process_page
add_to_queue('rsarsa')
add_to_queue_unless_there('rsarsarsa')
end
end
doc = Nokogiri::HTML('<html></html>')
request = Struct.new(:url).new('http://purple.com/satrsat')
response = Struct.new(:body).new('<html></html>')
scraper = Scraper::Base.new('http://rsarsa.com')
initial_url = 'http://purple.com'
expect(scraper).to receive(:add_to_queue).with('rsarsa', 'http://purple.com')
expect(scraper).to receive(:add_to_queue_unless_there).with('rsarsarsa', 'http://purple.com')
processor = ExtendedProcessor.new(doc, request, response, scraper, initial_url)
processor.process_page
end
end

View File

@ -0,0 +1,85 @@
require 'rails_helper'
describe Scraper::Base do
before(:all) do
@previous_processors = Scraper::Base.class_variable_get :@@processors
end
after(:each) do
Scraper::Base.class_variable_set :@@processors, []
end
after(:all) do
Scraper::Base.class_variable_set :@@processors, @previous_processors
end
describe '.register_processor' do
it 'should be able to register a processor' do
expect{Scraper::Base.register_processor(Scraper::BaseProcessor)}.to_not raise_error
end
it 'should raise an error if trying to register an invalid processor' do
expect{Scraper::Base.register_processor('potato')}.to raise_error Scraper::InvalidProcessorError
end
end
describe '#scrap', vcr: { cassette_name: 'scraper_base', record: :new_episodes } do
it 'should raise a NoPageProcessorFoundError error if no processor was found for the page' do
scraper = Scraper::Base.new('http://www.purple.com')
expect{scraper.scrap}.to raise_error Scraper::NoPageProcessorFoundError
end
it 'should process each page and return an array of the processed data' do
class ExtendedProcessor < Scraper::BaseProcessor
regexp %r{http://www\.purple\.com}
Scraper::Base.register_processor(self)
def process_page
'Yeaaaah!'
end
end
scraper = Scraper::Base.new('http://www.purple.com')
expect(scraper.scrap).to eq ['Yeaaaah!']
end
it 'should process each page and return concatenation of the arrays of the processed data' do
class ExtendedProcessor < Scraper::BaseProcessor
regexp %r{http://www\.purple\.com}
addition_method :concat
Scraper::Base.register_processor(self)
def process_page
['Yeaaaah!', 'Potato!']
end
end
scraper = Scraper::Base.new('http://www.purple.com')
expect(scraper.scrap).to eq ['Yeaaaah!', 'Potato!']
end
it 'should return a hash with the URLs if multiple URLs were provided' do
class ExtendedProcessor1 < Scraper::BaseProcessor
regexp %r{http://www\.purple\.com}
Scraper::Base.register_processor(self)
def process_page
'Purple is the best!'
end
end
class ExtendedProcessor2 < Scraper::BaseProcessor
regexp %r{http://www\.zombo\.com}
Scraper::Base.register_processor(self)
def process_page
'Welcome to Zombocom!'
end
end
scraper = Scraper::Base.new(['http://www.zombo.com', 'http://www.purple.com'])
expect(scraper.scrap).to eq({
'http://www.zombo.com' => ['Welcome to Zombocom!'],
'http://www.purple.com' => ['Purple is the best!']
})
end
end
end

View File

@ -0,0 +1,5 @@
require 'rails_helper'
describe Scraper::PostProcessor do
end

View File

@ -0,0 +1,152 @@
require 'rails_helper'
describe Scraper::SubforumManager do
manager_class = Scraper::SubforumManager
scraper_class = Scraper::Base
it 'should accept a collection of subforums as parameter' do
create :subforum, url: 'http://www.factorioforums.com/forum/viewforum.php?f=32'
create :subforum, url: 'http://www.factorioforums.com/forum/viewforum.php?f=33'
create :subforum, url: 'http://www.factorioforums.com/forum/viewforum.php?f=34'
expect{manager_class.new(Subforum.all)}.to_not raise_error
end
describe '#run' do
def scraper_mock(scrap_result = nil)
@scraper_mock ||= begin
double = instance_double('ScraperClass')
if scrap_result
expect(double).to receive(:scrap).and_return(scrap_result)
end
double
end
end
it 'should create a new instance of Scraper and call #scrap on it' do
create :subforum, url: 'http://potato.com'
create :subforum, url: 'http://cabbage.com'
scraper_mock = instance_double('ScraperClass')
expect(scraper_class).to receive(:new).with(['http://potato.com', 'http://cabbage.com']).and_return(scraper_mock)
expect(scraper_mock).to receive(:scrap).and_return({
'http://potato.com' => [],
'http://cabbage.com' => []
})
manager = manager_class.new(Subforum.all)
manager.run
end
it 'should update the #last_scrap_at on each Subforum' do
subforum = create :subforum, last_scrap_at: 1.year.ago
scraper_mock( subforum.url => [])
expect(scraper_class).to receive(:new).and_return(scraper_mock)
manager = manager_class.new([subforum])
manager.run
expect(subforum.last_scrap_at).to be > 1.minute.ago
subforum.reload
expect(subforum.last_scrap_at).to be > 1.minute.ago
end
context 'all the forum posts are new' do
it 'should create the forum posts and add them to the database' do
subforum = create :subforum
scraper_mock(subforum.url => [{
title: '[0.12.x] Super Mod - The Most Awesome Mod Ever',
published_at: DateTime.parse('Sat Sep 20, 2014 12:04 am UTC'),
last_post_at: DateTime.parse('Wed Jul 22, 2015 4:06 pm UTC'),
views_count: 8463,
comments_count: 123,
author_name: 'Potato',
url: 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=4845',
post_number: 4845
}, {
title: '[0.12.x] Potato Salad Mod',
published_at: DateTime.parse('Sat Sep 24, 2014 12:04 am UTC'),
last_post_at: DateTime.parse('Wed Jul 26, 2015 4:06 pm UTC'),
views_count: 1234,
comments_count: 5,
author_name: 'Mike',
url: 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=4848',
post_number: 4848
}])
expect(scraper_class).to receive(:new).and_return(scraper_mock)
manager = manager_class.new(Subforum.all)
manager.run
all_posts = ForumPost.all
expect(all_posts.size).to eq 2
expect(all_posts[0].attributes.symbolize_keys).to include({
title: '[0.12.x] Super Mod - The Most Awesome Mod Ever',
published_at: DateTime.parse('Sat Sep 20, 2014 12:04 am UTC'),
last_post_at: DateTime.parse('Wed Jul 22, 2015 4:06 pm UTC'),
views_count: 8463,
comments_count: 123,
author_name: 'Potato',
url: 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=4845',
post_number: 4845,
subforum_id: subforum.id
})
expect(all_posts[1].attributes.symbolize_keys).to include({
title: '[0.12.x] Potato Salad Mod',
published_at: DateTime.parse('Sat Sep 24, 2014 12:04 am UTC'),
last_post_at: DateTime.parse('Wed Jul 26, 2015 4:06 pm UTC'),
views_count: 1234,
comments_count: 5,
author_name: 'Mike',
url: 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=4848',
post_number: 4848,
subforum_id: subforum.id
})
end
end
context 'some forum posts already exist' do
it 'should update all the attributes' do
subforum1 = create :subforum
subforum2 = create :subforum
forum_post = create(:forum_post, {
title: '[0.12.x] Potato Salad Mod (0.1.0)',
published_at: DateTime.parse('Sat Sep 24, 2014 12:04 am UTC'),
last_post_at: DateTime.parse('Wed Jul 26, 2015 4:06 pm UTC'),
views_count: 1234,
comments_count: 5,
author_name: 'Mike',
url: 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=4848',
post_number: 4848,
subforum_id: subforum1.id
})
scraper_mock(subforum2.url => [{
title: '[0.12.x] Potato Salad Mod (0.1.1)',
published_at: DateTime.parse('Sat Sep 24, 2014 12:04 am UTC'),
last_post_at: DateTime.parse('Wed Jul 26, 2015 7:46 pm UTC'),
views_count: 1444,
comments_count: 12,
author_name: 'Mike',
url: 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=4848',
post_number: 4848
}])
expect(scraper_class).to receive(:new).and_return(scraper_mock)
manager = manager_class.new([subforum2])
manager.run
expect(ForumPost.all.size).to eq 1
forum_post.reload
expect(forum_post.attributes.symbolize_keys).to include({
title: '[0.12.x] Potato Salad Mod (0.1.1)',
published_at: DateTime.parse('Sat Sep 24, 2014 12:04 am UTC'),
last_post_at: DateTime.parse('Wed Jul 26, 2015 7:46 pm UTC'),
views_count: 1444,
comments_count: 12,
author_name: 'Mike',
url: 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=4848',
post_number: 4848,
subforum_id: subforum2.id
})
end
end
end
end

View File

@ -0,0 +1,138 @@
require 'rails_helper'
describe Scraper::SubforumProcessor do
single_page = 'http://www.factorioforums.com/forum/viewforum.php?f=91'
multiple_pages = 'http://www.factorioforums.com/forum/viewforum.php?f=32'
it 'should accept a subforum URL as the first argument' do
expect{ Scraper::Base.new 'http://potato.com' }.to_not raise_error
end
describe '#scrap' do
it { expect(Scraper::Base.new('http://potato.com')).to respond_to :scrap }
context 'single page' do
before(:all) do
VCR.use_cassette(cassette_name: 'subforum_single_page', record: :new_episodes) do
@scraper = Scraper::Base.new single_page
@result = @scraper.scrap
end
end
subject(:result){ @result }
it 'should return a list with the posts' do
expect(@result.size).to eq 12
end
describe 'first post' do
subject(:post){ @result.first }
its(:keys) { are_expected.to eq [:title, :published_at, :last_post_at, :views_count,
:comments_count, :author_name, :url, :post_number] }
its([:title]) { is_expected.to eq '[MOD 0.12.x] Larger Inventory' }
its([:published_at]) { is_expected.to eq DateTime.parse('Sat Sep 20, 2014 12:04 am UTC') }
its([:last_post_at]) { is_expected.to eq DateTime.parse('Wed Jul 22, 2015 4:06 pm UTC') }
its([:views_count]) { are_expected.to eq 8463 }
its([:comments_count]) { are_expected.to eq 20 }
its([:author_name]) { is_expected.to eq 'Rseding91' }
its([:url]) { is_expected.to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=5891' }
its([:post_number]) { is_expected.to eq 5891 }
end
describe 'middle post' do
subject(:post){ @result[7] }
its(:keys) { are_expected.to eq [:title, :published_at, :last_post_at, :views_count,
:comments_count, :author_name, :url, :post_number] }
its([:title]) { is_expected.to eq '[MOD 0.12.x] Compression Chests: virtually unlimited storage' }
its([:published_at]) { is_expected.to eq DateTime.parse('Mon Jul 14, 2014 11:02 pm UTC') }
its([:last_post_at]) { is_expected.to eq DateTime.parse('Sat Jul 18, 2015 1:44 pm UTC') }
its([:views_count]) { are_expected.to eq 9987 }
its([:comments_count]) { are_expected.to eq 50 }
its([:author_name]) { is_expected.to eq 'Rseding91' }
its([:url]) { is_expected.to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=4845' }
its([:post_number]) { is_expected.to eq 4845 }
end
describe 'last post' do
subject(:post){ @result.last }
its(:keys) { are_expected.to eq [:title, :published_at, :last_post_at, :views_count,
:comments_count, :author_name, :url, :post_number] }
its([:title]) { is_expected.to eq '[MOD 0.12.x] Fluid Void' }
its([:published_at]) { is_expected.to eq DateTime.parse('Sun Aug 17, 2014 5:00 am UTC') }
its([:last_post_at]) { is_expected.to eq DateTime.parse('Sun Dec 21, 2014 1:18 am UTC') }
its([:views_count]) { are_expected.to eq 8377 }
its([:comments_count]) { are_expected.to eq 16 }
its([:author_name]) { is_expected.to eq 'Rseding91' }
its([:url]) { is_expected.to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=91&t=5412' }
its([:post_number]) { is_expected.to eq 5412 }
end
end
context 'multiple pages' do
before(:all) do
VCR.use_cassette(cassette_name: 'subforum_multiple_pages', record: :new_episodes) do
@scraper = Scraper::Base.new multiple_pages
@result = @scraper.scrap
end
end
subject(:result){ @result }
it 'should return a list with the posts in all the pages' do
expect(@result.size).to eq 97
end
describe 'first post of the first page' do
subject(:post){ @result.first }
its(:keys) { are_expected.to eq [:title, :published_at, :last_post_at, :views_count,
:comments_count, :author_name, :url, :post_number] }
its([:title]) { is_expected.to eq 'BlueprintMirror 0.0.3 [0.11.16+]' }
its([:published_at]) { is_expected.to eq DateTime.parse('Tue Mar 24, 2015 4:09 pm UTC') }
its([:last_post_at]) { is_expected.to eq DateTime.parse('Tue Jul 21, 2015 1:35 pm UTC') }
its([:views_count]) { are_expected.to eq 1322 }
its([:comments_count]) { are_expected.to eq 16 }
its([:author_name]) { is_expected.to eq 'Choumiko' }
its([:url]) { is_expected.to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=32&t=9273' }
its([:post_number]) { is_expected.to eq 9273 }
end
describe 'fifth post of third page' do
subject(:post){ @result[25+25+5-1] }
its(:keys) { are_expected.to eq [:title, :published_at, :last_post_at, :views_count,
:comments_count, :author_name, :url, :post_number] }
its([:title]) { is_expected.to eq '[MOD WIP 0.9.x] EndlessWaltz - Enemy spawning mod like in TD' }
its([:published_at]) { is_expected.to eq DateTime.parse('Sun Jun 01, 2014 6:43 pm UTC') }
its([:last_post_at]) { is_expected.to eq DateTime.parse('Sat Nov 15, 2014 3:59 am UTC') }
its([:views_count]) { are_expected.to eq 2189 }
its([:comments_count]) { are_expected.to eq 7 }
its([:author_name]) { is_expected.to eq 'blah900' }
its([:url]) { is_expected.to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=32&t=4011' }
its([:post_number]) { is_expected.to eq 4011 }
end
describe 'last post of last page' do
subject(:post){ @result.last }
its(:keys) { are_expected.to eq [:title, :published_at, :last_post_at, :views_count,
:comments_count, :author_name, :url, :post_number] }
its([:title]) { is_expected.to eq '[WIP] Radar Mod' }
its([:published_at]) { is_expected.to eq DateTime.parse('Mon Feb 18, 2013 2:23 pm UTC') }
its([:last_post_at]) { is_expected.to eq DateTime.parse('Wed Feb 20, 2013 2:02 am') }
its([:views_count]) { are_expected.to eq 1453 }
its([:comments_count]) { are_expected.to eq 5 }
its([:author_name]) { is_expected.to eq 'kalapixie' }
its([:url]) { is_expected.to eq 'http://www.factorioforums.com/forum/viewtopic.php?f=32&t=156' }
its([:post_number]) { is_expected.to eq 156 }
end
end
end
end

View File

@ -3,18 +3,37 @@ require 'rails_helper'
RSpec.describe ForumPost, :type => :model do
subject(:post) { create :forum_post }
it { expect(post).to respond_to :comments_count }
it { expect(post).to respond_to :views_count }
it { expect(post).to respond_to :published_at }
it { expect(post).to respond_to :edited_at }
it { expect(post).to respond_to :last_post_at }
it { expect(post).to respond_to :url }
it { expect(post).to respond_to :title }
it { expect(post).to respond_to :author_name }
it { expect(post).to respond_to :post_number }
it { expect(post).to respond_to :title_changed }
it { expect(post).to respond_to :mod }
it { is_expected.to respond_to :comments_count }
it { is_expected.to respond_to :views_count }
it { is_expected.to respond_to :published_at }
it { is_expected.to respond_to :edited_at }
it { is_expected.to respond_to :last_post_at }
it { is_expected.to respond_to :url }
it { is_expected.to respond_to :title }
it { is_expected.to respond_to :author_name }
it { is_expected.to respond_to :post_number }
it { is_expected.to respond_to :title_changed }
it { is_expected.to respond_to :not_a_mod }
it { is_expected.to respond_to :subforum }
it { expect(post.build_subforum).to be_kind_of Subforum }
it { is_expected.to respond_to :mod }
it { expect(post.build_mod).to be_kind_of Mod }
# TODO: Should belong_to modd
describe '#title_changed' do
it 'should be set to true if the title changed' do
forum_post = create :forum_post, title: '[0.12] Super Mod (0.0.1)'
expect(forum_post.title_changed).to eq true
forum_post.title_changed = false
forum_post.save!
forum_post.title = '[0.12] Super Mod (0.0.2)'
expect(forum_post.title_changed).to eq true
forum_post.title = '[0.12] Super Mod (0.0.1)'
expect(forum_post.title_changed).to eq false
forum_post.title = '[0.12] Super Mod (0.0.2)'
expect(forum_post.title_changed).to eq true
forum_post.save!
forum_post.reload
expect(forum_post.title_changed).to eq true
end
end
end

View File

@ -0,0 +1,65 @@
require 'rails_helper'
RSpec.describe Subforum, type: :model do
subject(:subforum) { build :subforum }
it { is_expected.to respond_to :number }
it { is_expected.to respond_to :name }
it { is_expected.to respond_to :url }
it { is_expected.to respond_to :game_version }
it { is_expected.to respond_to :scrap? }
it { is_expected.to respond_to :forum_posts }
describe '#scrap_itself', vcr: { cassette_name: 'subforum_model_scrap_itself', record: :new_episodes } do
it 'should actually scrap the subforum to get the title' do
subforum.url = 'http://www.factorioforums.com/forum/viewforum.php?f=86'
subforum.name = ''
subforum.scrap_itself
expect(subforum.name).to eq 'Helper mods (<=0.11)'
end
end
describe '#url=' do
it 'should extract the #number from the #url' do
subforum.number = 0
subforum.url = 'http://www.factorioforums.com/forum/viewforum.php?f=86'
expect(subforum.number).to eq 86
end
it 'should set #number to nil if no number was found' do
subforum.number = 0
subforum.url = 'http://www.factorioforums.com/forum/viewforum.php?rsadhthnenrsa'
expect(subforum.number).to eq nil
end
it 'should not fail miserably with a nil value' do
subforum.number = 0
subforum.url = nil
expect(subforum.number).to eq nil
end
end
describe 'validation' do
it 'should be invalid without a #number' do
subforum.number = nil
expect(subforum).to be_invalid
end
it 'should be invalid without an #url' do
subforum.url = nil
expect(subforum).to be_invalid
end
end
describe '.for_scraping' do
it 'should return all the subforums with #scrap=true' do
subforums = []
subforums << create(:subforum, scrap: true)
create(:subforum, scrap: false)
subforums << create(:subforum, scrap: true)
subforums << create(:subforum, scrap: true)
expect(Subforum.for_scraping).to eq subforums
end
end
end

View File

@ -7,6 +7,7 @@ require 'capybara/rspec'
require 'webmock/rspec'
require 'vcr'
require 'paperclip/matchers'
require 'rspec/its'
WebMock.disable_net_connect!(allow_localhost: true)
# Capybara.default_driver = :selenium_phantomjs
@ -28,6 +29,9 @@ VCR.configure do |config|
config.ignore_request do |request|
URI(request.uri).host == '127.0.0.1'
end
config.before_record do |i|
i.response.body.force_encoding('UTF-8')
end
config.cassette_library_dir = "#{::Rails.root}/spec/fixtures/vcr_cassettes"
config.hook_into :webmock # or :fakeweb
config.configure_rspec_metadata!