The UESPWiki – Your source for The Elder Scrolls since 1995
Jump to: navigation, search
  • Real Name: Dave Humphrey
  • Who Am I: Original founder and admin of the UESP since its creation in 1995 (and the Daggerfall text FAQ before that)
  • Where Am I: Currently living and working in the Toronto, Canada area
  • What I Do: Full time employee for the UESP
  • Current Interests: Besides the usual ES stuff I've been lately on a quest to build the world's toughest USB drive ( Reddit AMA on October 9th.
  • Age: Born in 1973 I am 41 at this edit
  • What I'm Playing: me as @Reorx in the UESP guild
  • Social Media

Site ToDo List[edit]

The following are tasks specifically needed to be done myself, either because I'm the site admin or simply because its something I'm interested in. Also see the UESPWiki:Task List page for general tasks which can be done by any editor.

Short Term Things[edit]

Things that have to be done by yesterday:

  • Fix Map Issues
  • Issue with single quotes on links
  • Check the "next" button is correctly displayed
  • Ensure Christmas gift codes have been sent out
  • Fix the report ad
  • Check on the blog issue
  • Check forum issues
  • Check on issue with banning users using the web chat app on IRC.
  • Update blog
  • Update b2evolution
  • Re-skin
  • Put into source control
  • Group email setup
  • Initial creation
  • Add members
  • Allow domain members

Mid Term Things[edit]

Things that should be done in the near future:

  • Upgrade Wiki
  • Done -- Update to PHP 5.3 on content servers
  • Done -- Put wiki into source control
  • Continue putting things into Google Code
  • Done -- wiki (with extensions)
  • Done -- blog
  • Done -- Web chat
  • Done -- Lucene Search
  • Done -- Forums
  • Scripts
  • Setup
  • Move custom extensions to own repository
  • Prepare for ESO
  • Check out FCGI and server performance
  • Twitch TV setup?
  • Make the report ad feature better
  • Better and easier deployment of code
  • Mostly Done -- uespdeploy script created and in early use for some components (including the wiki)
  • Look into WYSIWYG wiki editors
  • Offline generation of PDF/HTML/book versions of the wiki

Older Things[edit]

The following needs to be sorted through and updated.

  • Backups
  • Regular monitoring (ongoing)
  • Setup some form of automatic monitoring (need to do)
  • Test backups (need to do)
  • Monitoring
  • Complete basic monitoring of all essential services using Zabbix (done, needs maintenance)
  • Cache
  • Investigate an external CDN (not needed at this time)
  • Performance
  • Improve overall loading time of pages, particularly for logged in users (mostly done but is ongoing)
  • Database
  • Upgrade databases to MariaDB (needs to be done eventually)
  • Wiki
  • Off-line downloadable versions (half done, needs to be finished)
  • Upgrade version (ongoing, need to update from 1.19 to 1.22 or later)
  • Create upgrade procedure related to UespCustomCode and other modifications (ongoing, almost done)
  • Extensions
  • Security
  • Check patch levels of items on all servers and update if required (needs to be done)
  • Server Setup Scripts
  • Update with all recent changes
  • Ensure at least python v2.6 is installed (with mysqldb extension)
  • Make sure hg is installed with the correct python libs (2.6 or higher)
  • Make sure /home/uesp is :uespadmin with g+rwx rights
  • Include /home/uesp/scripts in default path
  • Script for handling intra-server ssh logins with private keys
  • Misc
  • Daggerfall online map
  • Tamriel online map
  • Interior online maps
  • Bug fix uesp-setup-server and other scripts


Just a place for me to jot down some general ideas:

  • Mod Ideas
  • Faction with semi-random quests (ala Daggerfall), many medium-large pre-randomly generated dungeons
  • In-game strategy (ala Civilization). Build 'cities' within the game, gather resources to create buildings, gain prestige to get involved with the province politics (quest line).
  • Luggage (ala Pratchett's Disc World). A large trunk follows you around with a mind, and set of sharp teeth, of its own.

Handy MediaWiki Queries[edit]

  • Count of Daily Edits
     SELECT COUNT( * ) , LEFT( rev_timestamp, 8 ) AS revdate
     FROM `revision` 
     GROUP BY revdate
Add a WHERE rev_minor_edit=0 to not count minor edits.
  • Count of Daily Edits from a Given Date by User
     SELECT COUNT(*) as cnt, rev_user, rev_user_text, LEFT(rev_timestamp, 8) as revdate 
     FROM revision 
     WHERE rev_timestamp > "20121101" 
     GROUP BY rev_user
     ORDER by cnt;

Useful Commands[edit]

  • List Processes Using Port 80
 fuser 80/tcp
  • Memory Usage
 free -m
  • Disk Usage
  • Group Apache Log Errors
  egrep "\[.*\] \[error\] \[client .*\]" error_log | gawk -F ']' '{print $4}' | sort | uniq -c | sort > errors.txt
  • Sorting the Apache Error Log
  awk -vFS=']' '/\[.*\] \[error\] \[client .*\]/ { a[$4]++; } END { for (i in a) print a[i], i; }' < error_log | sort -n > errors.txt
  • Extract Database from Full Dump File
  sed -n '/^-- Current Database: `dbname`/,/^-- Current Database: `/p' alldbs.sql > dbname.sql
  • Extract Pages from Squid Log and Purge
  awk '{print $7}' access.log > allpages.txt
  grep  "/wiki/" allpages.txt > mainpages.txt
  grep "" mainpages.txt > wwwpages.txt
  egrep "|" mainpages.txt > mobilepages.txt
  sort wwwpages.txt > wwwpagesort.txt
  uniq wwwpagesort.txt > wwwpagesuniq.txt
  php purgeList.php --purge < wwwpagesuniq.txt
  • Use yum EPEL Repo
   yum install epel-release

Custom Scripts[edit]

  • Counts all connections per IP address and displays sorted list. Add an optional connection type parameter (TIME_WAIT, ESTABLISHED, LISTEN, etc...) to only list connections in that state.
  • Helper script for banning/unbanning IP addresses using iptables at the server level.

Setting up Eclipse for Remote Development[edit]

Eclipse can be setup for remote development of PHP (and anything else) directly from the UESP servers:

  • Download the base version of Eclipse
  • Install/extract to a desired directory and run
  • Go to Help--Install New Software
  • Select All Sites from the drop down list
  • Find and select the following add-ons:
  • PHP Development Tools (PDT) SDK Feature
  • JavaScript Development Tools
  • Eclipse Web Developer Tools
  • Remote System Explorer End-User Runtime
  • Install the add-ons and restart Eclipse
  • Open a Remote System Explorer perspective (or from within Window--Show View--Other)
  • Define a new connection using a SSH session to (you need to have a shell login on content3)


Links I always seem to need but never remember...

Internal Site Links

General Things

Wiki Related

Server Architecture: