Wednesday, July 21, 2010

Special Force PH Clan Management Release 1.1.1

The previous release had a bug when using a non-Clan Master Account. This release fixes that issue.
Thanks Nicko for the heads up.


Mediafire Download Link
http://www.mediafire.com/?2bzbih05z0du7c2

Tuesday, July 20, 2010

Clan Management Tool Release 1

WARNING: MAKE SURE YOU DOWNLOAD ONLY FROM THIS WEBSITE. THIS PROGRAM IS GUARANTEED KEYLOG FREE. I WILL NOT BE HELD RESPONSIBLE FOR THE USER'S NEGLIGENCE OF USING SOFTWARE FROM THIRD-PARTY SOURCES.

1st release. Download link below. (updated jul 20T10 1pm

Features:
- Log-in via Clan Portal or via Program.
- Search codename in Member List
- Search codename in Manage Members (CM only)


Download Link:


Mediafire

Needs .NET framework 3.5

Short Instructions:

0. Open zip,extract, click setup. next next finish. open in program files or desktop.

1. Log in in the Clan portal. Click on the icon beside the codename to go to Clan Portal if it doesn't display. OR
1.1 Log in via the program. Enter Username and Password on their appropriate text fields. then check Auto-Login. The program will automatically try to log you in (even if your password is wrong LOL. haven't fixed that yet.)

2. Select where to search. Member List or  Manage Members ( Clan Master Only).

3. Enter codename. You can enter a partial as long as there are no omissions in between:
ex:
You are searching for 143ILOVEYOU
Valid Search Codenames: 143, ILOVEYOU, LOVE, YOU, 3ILOVE

After entering a Codename, click NEW SEARCH. If the result is not what you're looking for, click NEXT to search for the next result.

4. Close program after using.

If there are bugs, please comment here.

yeahba.
will clean it up. when. i have. ti.m.e

Monday, July 12, 2010

Stall on the development of SFCMT.

Hi Guys,

I suddenly had a job to do. I cannot work on the tool as much as I wanted to like was planned. I can only work on it an hour a day. For this reason, I need someone who can write for me. This person must be able to or at least WANT to be able to:

1. Understand some programming concepts. C#, HTML, ReGex, SQL, Access, ADO.Net.
2. Write and expand topics with minimal guidance, in English.
3. Can do 1 and 2 for free.

So if any of you thinks he is qualified and can help me and not be a burden. Please comment on my blog.

Saturday, July 10, 2010

Special Force PH Clan Management Tool Part 3: Search Codename Feature


Technologies used:

Through the entire series of tools, I will be using C# and .Net framework 3.5. The tools will mostly be achieved by using ReGex and the WebBrowser control. As the tool progresses, databases and more advanced technologies will also be utilized.

Search Codename feature

For our first feature, we will grant a clan master an ability to search for codenames. To do this, the clan master must first login on the clan home page. This will be done by navigating the only webBrowser control of the application to http://sfclan.ph.gameclub.com/ . Before I go on further, I wish to guide players to avoid log-in scams.

// Starting at this point, I'll be using shortcuts A LOT. These will need to be edited in the future.

>>>> Checking the Authenticity of Special Force PH Log-in to avoid scams:

In Google Chrome, hover cursor over LOGIN button, on the bottom the browser, you can see the javascript function that the button is associated to.

In this case, we are looking for the loginSubmit() function. Right Click on the LOGIN button then click on Inspect Element to view the associated HTML source.


If we look for the loginSubmit() function associated with the LOGIN button, we find this code:

Now we need to see what's in the loginSubmit function to verify if this webpage is authentic. To see the entire HTML code of the page, find the View Source button in Chrome's file menu.


Chrome will open a new tab that will contain the source. Press CTRL+F to bring up the search box and type loginSubmit to find the function. Luckily, the first result is the one we're looking for.


This is the entire loginSubmit() function. It checks if the UserID and Pass textboxes have values in them. If not, it warns the users. If they both have values, the UserID and Pass are submitted to "http://ph.gameclub.com/member/login_ok.asp" which is a gameclub server so we're assured that we're logging in on an authentic page.

WARNING IMPORTANT! 
NEVER login to a third party program or unofficial program even you have verified that the website  UNLESS, repeat, UNLESS you are absolutely sure you trust who the program came from only should you log-in in the .You should not even log-in if that program is currently open if you do not trust the author of the program because key loggers are very easy to incorporate in such software.

Alternate LOGIN for my program
My program uses the IE6+ (I think???) browser library, if you don't want to login directly to my program because of the risks, you can use Internet Explorer (the one that comes with windows) to log-in to "http://sfclan.ph.gameclub.com/" . Leave Internet Explorer open, then you can open my program and it will automatically detect that you have already logged in through Internet Explorer and will not ask you to log-in.


ReGex and HTML.
To identify patterns such as those for codenames, I will be using .Net's RegEx library.


Checking if the account is logged in
An account is logged in if the a there is a Clan name on the ID card when you navigate to "http://sfclan.ph.gameclub.com/.



To make a ReGex matching pattern that will determine the clan name and the position, I need to see the HTML code. In Firefox, this can easily be done by highlighting the clan name and position then right click on the highlight then select View Selection source.


Below is the HTML code of the Clan name and position:

and the corresponding ReGex code to find the Clan name and position is:


CASES:
$2 == Master : Enable all features
$2 != Master : Enable Members List only.
No Match == Player has no clan : Disable all features.

Browsing through the Member's List and Manage Members pages
To be able to search through each page of the Member's List and Manage Member's pages, we need to know what are the formats of the URLs.


The URL format for the Member's List (Non-Master accounts) is:
http://sfclan.ph.gameclub.com/myclan/member_list.asp?guildid=LeGiOnAiReS&gp=&gotopage=4

*Replace LeGiOnAiReS with the matched clan name.
*replace 4 after "&gotopage=" to go to the desired page number.


The URL format for the Manage Members page (Master Account) is:
http://sfclan.ph.gameclub.com/myclan/management/manage_member.asp?guildid=LeGiOnAiReS&gp=&gotopage=4


*Replace LeGiOnAiReS with the matched clan name.
*Replace 4 after "&gotopage=" to go to the desired page number.

HTML for each member row in the Manage Members Page

RegEx for each member row in the Manage Members Page


Match collection:

$1 = Officer || Member
$2 = Account Number
$3 = Rank
$4 = Codename
$5 = Join Date

Member List HTML


Member List RegEx 


$1 = Clan Master || Officer || Member || Pending
$2 = Rank
$3 = Codename
$4 = Join Date


Interface:

Search logic
[check if logged in]
page buffer to determine that there is no change of codename order.

Special Force PH Clan Management Tool Part 2

The Current System

Clan Management Panel
The above image shows the Clan Management feature of the SFPH. The Clan Management Panel is only available to the Clan Master of a clan. It contains privileges only available to the Clan Master such as accepting members through the Join Request Approval feature and kick members trough the Manage Members feature. Below are the details of each feature.

Use Clan Items - Not functional.

Buy Clan Items - Not functional.

Edit Clan Info - Allows the clan master to change the Clan Introduction and Clan Image.

Manage Members
The Manage Members feature allows the clan master to Promote/Demote members level and kick Members. The Manage Members feature contains four columns. The columns are the Member Level, Rank, Codename, and Date Registered. The Member Level column contains the membership level whether one is an Officer or a Member. An officer has certain privileges such as inviting players in-game and editing posts on the Clan page. The Member Level column also contains an X button beside the member level Pull Down Menu which can be used to kick a member out of the clan. A Member's Level can be changed by selecting the appropriate option on the Member Level pull down menu and clicking Apply on the bottom of the page. The other columns are Rank, Codename, and Date Registered which are self explanatory. The Page Navigation can be found at the bottom.

*Note: Investigate whether fake-names and fake-ranks appear on the Manage Members feature.

In summary, the Member Management feature only allows the clan master two actions.
1. Change the Member Level of each member.
2. Kick a Member.

Both of these have a very inconvenient quirk. Doing any of these actions brings you back to Page 1. For example, after kicking a member at Page 100, you will be returned to Page 1. Updating Member Levels at Page 150 will also bring you back to Page 1. This is very inconvenient, especially if a clan master is trying to clean up inactive accounts.

Below are some features that would have made managing clans less tedious:

1. Ability to search and sort codenames and ranks.
2. Ability to ban users. Especially useful if a member is repeatably offending clan rules.
3. Ability to search Date Registered ranges. Useful if a clan master wants to promote loyal members who have stayed and never left.
4. Keep a log of members leaving. This will be useful if a clan master wishes to ban members who frequently leave and join the clan.

These features can be made using the only two functionalities provided by the Member Management feature through a third party program. 



Join Request Approval

The Join Request Approval allows a Clan Master to Approve/Reject incoming player request to join a clan. The image below shows the Join Request Approval page.

The Join Request Approval page displays 3 Join Requests at a time. Each Join Request the Codename, Rank, Gender, Province and City, Favorite weapon, Fave Map, Game Style, Request message, and a check box that is used to reject/approve each join request. The page navigation is at the bottom of the bottom most request and below it are the Approve and Reject buttons. For a clan master to approve a Join Request, he must click the check box on the row of a Codename then click the Approve Button. If he wishes to deny a request, he must also click the checkbox on the row of a Codename then click the Reject button. On the bottom of the page, the Select All and Deselect buttons can be found which checks/unchecks, respectively the 3 checkboxes of the join requests displayed.

Problems and quirks of the Join Request Approval page

Similar to the Manage Members page, it contains quirks and lacks features. Below are some of the quirks and features that should have been present to effectively manage a clan:

1. The join date of each Join Request is not present and the Join Request are sorted with the most recent join request first. Usually, a clan master would prefer to approve those whose join request are pending the longest so that he can avoid potential members canceling their request because of the long wait.
2. It lacks the ability to sort Join Requests Date, Codename, and Rank. These would have been useful if a clan master wishes to approve/reject join requests based on those.
3. It lacks a ban / autodeny feature. Clan masters may want delinquent members to be permanently denied entry of the clan. They might also want to deny members whose rank is lower than a set minimum. Some clans might only be local to some places.
4. An Auto approve feature. Some clan masters may wish to base the approval/rejection of a Join Request only on a potential member's rank. If this is the only basis, it need not be done by hand.

5. Compact view. Each page only shows 3 Join Request. It makes the usage of a checkbox and a common button not practical since there are only a few Join Request per page.
6. Only Codename and rank are retained after a Join Request is approved/rejected. The other information are discarded / not visible after a request is approved/denied.


7. Log denials. A clan master may wish to see if a player repetitively joins after a request is denied.
8. Similar to the Manage Members page, Accepting/Rejecting a Join Request takes him back to the first page. This is very inconvenient if the clan master approves those who have applied first since those are at the last page.

All these features are possible with only the Approval/Rejection abilities of the Join Request Approval page. By building a third party program to process the Join Request Approval page, all of those features can be achieved.

Designate Leader
This allows a Clan Master to pass the leadership and his privileges to an officer.

Disband Clan
Allows a Clan Master to disband a clan. A clan will be disbanded after 7 days of the confirmed disband request.


Summary:
The current Clan Management system lacks features. The current Clan Management system only have:

For the Manage Members page:
1. Change member level
2. Kick a member.

For the Join Request Approval page:
1. Approve/Reject a request.

By building a third party program, I aim to add the following features:

For the Manage Members page:
1. Search and sort codenames and ranks.
2. Ban users.
3. Search and sort Date Registered ranges.
4. Keep a log of members leaving.

For the Join Request Approval Page:
1. Show Join request date of each Join Request.
2. Sort by Join Request Date, Codename, and Rank
3. A ban / autodeny feature.
4. An Auto approve feature.
5. Compact view.
6. Keep a record of the Join Requests' Codename, Rank at the time of Join Request, Gender, Province and City, Favorite weapon, Fave Map, Game Style.
7. Log denials.
8. Remember and go back to the page where the approval/denial was performed.

On the next issue, I will release the first prototype which will have the ability to search names in the Member Management page.

Wednesday, July 7, 2010

Special Force PH Clan Management Tool Part 1


Description:

Special Force PH is a first person shooter game local to the Philippines published by GameClub. It is a community that could have more than 40,000 players online at a time. Special Force PH implements a clan system which allow players to form groups consisting of members as small as 10 to and as large as several thousands. A Clan Master leads a clan and manages its members. The Clan Master is the only person in the clan who can: demote/promote members; approve/reject join requests; and kick members of the clan. As a clan grows, member count can reach thousands and join requests may reach up to a hundred a day. Having a large clan also increases delinquent members. Without the ability to ban, search, and sort members, the current features of the clan system proves inadequate to effectively manage a large and popular clan.

To fill the inadequacy of the Clan System, I will make an application that can provide functionality that the current system lacks. Some of these features include banning, searching, and sorting members.

On the next issue, I will describe the current functionality of the clan system.