Thardferr's technical log


This post is a binnacle of the development of the Multi Player Strategy Game “Thardferr” (, It's almost sure you'll see a parking site at this moment, and that's because the development version isn't uploaded yet.
At first, I'll code a Devcoin wallet using the “Web wallet scripts”, In that way, I would earn the shares and use the framework for further development of the game. If I code the wallet first, I'll have a useful version and for sure, I'll have more users over time.
You can see the wallet in the following link:
The game itself will be developed with an incremental method with different releases, because I'm doing this as a hobby, I can't estimate the development times accurately.
If you want to know more of the game, you can read the Thardferr business plan.
This game was very important to many people in the past, that's why I want it to be a great one, if you was a Thardferr player, a developer or an enthusiast, feel free to contact me here with a private message, your suggestions will be greatly appreciated.


The source code will be released each time I got a stable version, and will have the following licence:

Development server specifications

  • Ubuntu 12.04
    • PHP 5.0
      • Short tags enabled
    • MySQL 5.6.11
    • Apache 2.0
    • CodeIgniter 2.1.4
    • recaptcha-php-1.11
    • Postfix (E-mail server)
    • php5-json
    • jsonRPCClient
    • phpgangsta

Note: All the classes will be coded to be used on the CodeIgniter framework, but would be used without it too with minor modifications.

Source code

You can find the source code of the last version in the following link:

V0.02 (closed iteration, 100% developed)

This iteration is a short one, it will include basically all the graphical design and unitary testing code to ensure the quality, the basic wallet functions will be implemented in this version too.

  • UI Interface 100%
    • Must have a clean and professional grade design, avoiding tables as posible
  • Wallet 100%
    • Address (Only one per user will be provided in this iteration)
    • Balance
    • Send Coins
      • Address
      • Amount
      • Send Button (Must validate the amount Vs existant coins)
        • Must show the trxid when the payment is send
    • Transactions history
      • Transaction Type
      • Confirmations
      • Amount
      • Date
      • Previous button
      • Next button
      • (The trxid and the information behind it will be added in a next version)
  • Terms of Use 100%
  • Testing code 100%
    • Will cover at least 85% of the code (will be extended to the following releases too)

V0.01 (closed iteration, 100% developed)

This is basically the scope of the first iteration of the code, the main goal is to have the join/login cycle complete, at this point, the graphical design will not be implemented (Maybe when we got at least a functional version with the Devcoin Wallet), the source code will be documented properly and I'll make some stand-alone examples for certain classes to make more easy the implementation in other projects, I'll implement a lot of validations and some security to avoid the major security risks, I'll improve the security in further releases if needed.
NOTE: the scope of the iteration can change in any moment, but this notes will be updatet.

You can see the full information regarding this release here:
This version will include the following development:

  • Join Script: The Join Script will allow to “Join” the page, using an existing E-mail 100%
    • E-mail
      • Check if it's a valid E-Mail
    • E-mail confirmation
      • Check if the captured E-mail matches
    • Password
      • Must be case sensitive and check if it's strong enough (min 10 chars, at least 1 capital letter and 1 number)
    • Password confirmation
      • Input the same Password to check if it's correct, if not, a message will be show
    • Captcha
      • The user must input a valid code showed in the captcha, if not a message will be show
    • Accept Terms of Service (TOS)
      • Must have a link to show the Terms of Service of the site
    • Join Button
      • If everything is correct, the system will send an e-mail with a string and a link to activate the account, if everything is correct, the user will be leaded to the confirmation script
  • Confirmation Script: The confirmation script will allow the user to activate his/her account 100%
    • If the user clicked the emailed link, the system will activate the account and show a welcome message
    • If the user wants to activate the account with the generated code, he/she must capture it and the email, if it's ok, a welcome message will be showed, if not, an error message will be showed.
  • Login Script (Auth Script) 100%
    • The page will show the login option asking for email, password and an optional SFA code, and will show a login button, if the information is correct, the user will be leaded to a home screen with a menu and personal messages.
  • Forgot password script 100%
    • The system will ask for the registration e-mail and show a captcha and the optional 2FA code, if the information matches, the system will send an e-mail to the user with a link
    • The user clicks on the link and will be asked to type a new password twice and the optional 2FA code, if the passwords matches and followed the rules, the password will be changed, if not an error message will be showed.
  • Account configuration Script 100%
    • Change Password
      • The user must type the current password and the new one (two times), and an optional 2FA Code
    • Optional personal data
      • Name to show
      • Personal message
    • Google 2FA
      • Option to generate it, If the user chooses the 2FA, the QR once activated, will dissapear
  • Administrative Script 100%
    • The Administrators will have the power to block accounts, reset passwords, change permissions (Two roles for this iteration: Administrators/regular users) and deactivate 2FA codes
    • Search accounts
      • Admins should search accounts by username, nickname or ID and the information will be showed in a data grid with the mentioned options.
  • Personal messages script (Cancelled for this iteration)
    • The system will be capable to show personal messages to the users, but in this version there's no way to send them.
    • The messages will have an option to delete them (But only will be flagged to hide them)


QR Code
QR Code thardferr_s_technical_log (generated for current page)