Abrir menu principal

UESPWiki β

  • 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 (www.viud.net). Reddit AMA on October 9th.
  • Age: Born in 1973 I am 41 at this edit
  • What I'm Playing: ESO...contact me as @Reorx in the UESP guild
  • Social Media

Site ToDo List

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

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 non-uesp.net domain members

Mid Term Things

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

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

  • 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

  • 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 "www.uesp.net" mainpages.txt > wwwpages.txt
  egrep "m.uesp.net|mobile.uesp.net" 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

  • 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

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 content3.uesp.net (you need to have a shell login on content3)