Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - acraig

Pages: [1] 2
1
PlaneShift News and Rules / Forum Server Move
« on: August 15, 2016, 06:42:49 pm »
Hello Everybody.

The forums are moving to a new server on Aug 17.   The previous hosting provider was bought by another and thus they are moving infrastructure.    The forum software and database will be moved ( along with the bug tracker ) to a new host.    I am in the process of testing the new software on the new server now with a test data load from the forums.   

The only issue that I have is getting the DNS updates done so you might have to go to the main PlaneShift website for the next little while to get the ip address of the forums until I get that sorted out.

Thanks,

Testing

2
Forum and Website Discussions / Sorry about the down time.
« on: December 17, 2014, 03:34:30 pm »
Sorry about the forums being down for the last bit.  Turns out ICANN needed domain name verification but they were using an old email address so I didn't get the notification and boom they had the domain name suspended.  So after some dancing around I think these issue should be resolved now.

Again sorry about the interruption.

3
Development Deliberation / How does it work? /dig command
« on: April 02, 2013, 12:50:54 pm »
So I've been away for a while and I've forgotten how a lot of the code base works.   So I thought it might be interesting to document my process of how I go about figuring how stuff works again.  Since I like crafting and gathering I thought I would start with something like the /dig command.  Should be easy enough to figure out how that works. 

So to start off with... I know that the windows are defined by XML files that layout the widgets and graphics.  So I know that I can use the /dig command in the chat window so I start in /PlaneShift/PS/data/gui/chat.xml and look for things like input or edit or stuff like that.   Sure enough I find:

Code: [Select]
<widget name="InputText" factory="pawsEditTextBox" alwaysontop="yes">

So this is my first starting point in the code.  I need to look at pawsEditTextBox and see how it handles input.

5
PlaneShift News and Rules / Update Forum Software.
« on: August 26, 2011, 10:25:03 am »
Shortly, hopefully this weekend, the forums will be in maintenance mode for a few hours so we can perform an upgrade to SMF 2.0.   At that point the Theme will be set to a new default PlaneShift theme.   There should be no loss of data and we have already preformed a test update and was successful.   


6
Forum and Website Discussions / Need Help Testing Forum Registration
« on: October 19, 2009, 09:17:57 am »
Hi.

We've got some reports with users having some issues trying to register on the forums.  Most reporting not getting their email confirmation.  I activated a bunch of accounts from the last month so but need a few people ( using different email addresses ) to try to register new accounts to see what the issue is.  If you do please post what address you used and if it worked or not.  You don't need to give the total address just the domain ( ie everything after the @ ).  I want to see if there is some common element here that is blocking the emails.

Thanks,

Results:

googlemail.comPossibly in Spam Filter
@gmx.deFailure to send Email

7
Forum and Website Discussions / Forum & BT Issues
« on: December 22, 2008, 11:07:12 am »
My hosting company informed me that the forums were taking up too many resources on their server so I have removed some of the forum features to see if I can be 'allowed' back on their server.  Right now the forums have been 'moved' to their temp server so I can try to find out the problem.  This is the source of the other issues as well.  I am in the process of looking at different hosting companies and moving the forums there.  So might be some reduced forum abilities over the next few weeks.  I have two weeks to try to resolve this issue.  There should be no data loss if I move just some down time where the forums will not be available.

In order to help this along if people can clear out some of there private messages or anything else that can help reduce the size of the database that would help.   


Update:
I now have access to my VPS (virtual private server on new host ) so chances are the forums will be 'locked' in the next couple of days after I have all the software I need installed.

8
Development Deliberation / Request for Wiki Editors
« on: July 16, 2008, 05:17:39 pm »
I have setup doc.hydlaa.com in an attempt to develop some documentation about PlaneShift the engine.   However, right now it's pretty just me adding some details here and there.   What is needed are people to be editors to keep the pages organized and making sense and some people to start adding some of the required pages.     Right now I am not sure what required pages are but once people start adding pages I can start to add in details.   Maybe a good page to add would be a "Request" page then I can read those and start adding in some of the requested pages.

9
The Hydlaa Plaza / New mounts?
« on: July 10, 2008, 07:55:16 pm »
Well, maybe not, but these were in our garden the other day.


10
Development Deliberation / Which Area Documented
« on: December 04, 2007, 01:42:30 pm »
In an attempt to start documenting more about how it works I thought I would toss out some ideas and see what area people would like to see more Documentation.  I know that 'all' is probably what most people would like but needs to start somewhere.

11
Development Deliberation / Request for Webdeveloper
« on: July 27, 2007, 12:34:51 pm »
This is a request for a webdeveloper to help us on developing some web based tools to help add the required content to PlaneShift.  Right now we have a basic web console that is used to do everything from setup quests to configure NPCs.  However, at the moment the tool is not easy to use and has a difficult interface.   The entire system requires a complete overhaul and redesign.   As you can imagine this will be a complex system and one that will need a significant amount of work and time invested. 

This will be a fairly 'hands off' type project with just us providing requests for features and testings.  So will require a fair bit of proactive work to keep things moving along.   However, it will lead to close contact with the settings team as their demands for features will grow as new features are placed into the game. 

If you feel you are up to the task then this is what you will need:
1) your own webserver ( apache ) that you can host publically so we can see/test your design
2) your own mysql server

Skills required are:
1) Very good php
2) Good website layout/design
3) Some graphic skills
4) Mysql skills.

We can help with discussing about how the different database tables work and how they interact with each other. 

At some point if the design is good it will be used with the test server and eventually on laanx. 

Post here if you are interested and extra points to whoever can the serverconsole from CVS already setup.   


12
In an effort to help us narrow down bugs I will try to offer some some advice on how to improve the bug reporting on bugs.hydlaa.com.  First up is this bug:

"It seems we have the ability to repair stocks, after combining 2 of different quality and getting a difference like 235/267 for example. What is even more wierd is the fact that it doesn't eat up a repair kit when I repair it.
Also quality related issue, when combining some stocks of different quality (it depends on the order of combining), I get 265/235 quality of a stock."

Seems pretty good at the start but it's missing a couple of key pieces of information.
1) Which stocks? If I run this query
mysql> select id,name from item_stats where name like "%Stock";
I get over 22 results.  I can't check them all to see if the behaviour is the same for all of them.
2) The quality and quantity in the stacks.   Is 235/267 the before or after values?
 
3)  For the second part, again what stocks, what values, what qualities are involved?  "It depends on the order", means that order is important so that should be given as well.  The highest quality on the lowest?  The largest stack on the lowest,  the largest on the lowest quality, etc. 

With the above information I can quickly create the same condition in my test server.  Otherwise I have to make guesses which might not lead to the same bug here which will result in me closing the bug because I cannot find it.



13
The Hydlaa Plaza / Some old PS images
« on: December 26, 2005, 03:07:43 pm »
I was cleaning out my Windows drive and found some early PS development screen shots.  If I find any more I will upload them.








14
Server Status / Example server crash.
« on: October 26, 2005, 01:46:26 pm »
For all of you that\'s wondering what\'s going on with the server here\'s an example of what we are trying to deal with.   After a crash a core dump is generated.  This is a large file ( 500+MB ) that contains what the program was doing up to that point.  So after every crash we can examine that and try to figure out what went wrong.  Think of it as a black box like on an airplane.

This core file contains a back trace which is how the programming was flowing before the crash and looks something like this:
Code: [Select]

0  0x08255a55 in psCharacter::CheckQuestCompleted(psQuest*) (this=0xabb0228,
    quest=0x8674770) at src/server/bulkobjects/pscharacter.cpp:2820
2820        if (IsQuestAssigned(quest->GetID())->status == \'C\')
(gdb) bt
#0  0x08255a55 in psCharacter::CheckQuestCompleted(psQuest*) (this=0xabb0228,
    quest=0x8674770) at src/server/bulkobjects/pscharacter.cpp:2820
#1  0x0823127a in VerifyQuestCompletedResponseOp::Run(gemNPC*, Client*, NpcResponse*) (this=0x8676b90, who=0xaecaf48, target=0x11348488, owner=0x86763e8)
    at src/server/bulkobjects/dictionary.cpp:957
#2  0x08230f92 in NpcResponse::ExecuteScript(Client*, gemNPC*) (
    this=0x86763e8, client=0x11348488, target=0xaecaf48)
    at src/server/bulkobjects/dictionary.cpp:902
#3  0x081b2a89 in PlayerToNPCExchange::HandleAccept(Client*) (this=0x13774c30,
    client=0x11348488) at src/server/exchangemanager.cpp:1200
#4  0x081b3926 in ExchangeManager::HandleMessage(MsgEntry*, Client*) (
    this=0x8488c30, me=0xc438a78, client=0x11348488)
    at src/server/exchangemanager.cpp:1369
#5  0x082fc3e9 in MsgHandler::Publish(MsgEntry*) (this=0x8529cb8, me=0xc438a78)
    at src/common/net/msghandler.cpp:97
#6  0x0830c3f6 in EventManager::Run() (this=0x8529cb8)
    at src/common/util/eventmanager.cpp:154
#7  0x08282b4c in csPosixThread::ThreadRun(void*) (param=0x84a3980)
    at libs/csutil/generic/cspthrd.cpp:479
#8  0x40021941 in pthread_start_thread () from /lib/i686/libpthread.so.0

Most crashes are a result of null pointer errors.  So in this case the line:

if (IsQuestAssigned(quest->GetID())->status == \'C\')

has 2 potential pointers to check, quest and the result from IsQuestAssigned()


(gdb) print quest
$1 = (psQuest *) 0x8674770

Seems ok.

(gdb) print quest->id
$2 = 13479

Seems ok

So lets look at the code a bit here now:
Code: [Select]

bool psCharacter::CheckQuestCompleted(psQuest *quest)
{
    if (IsQuestAssigned(quest->GetID())->status == \'C\')
        return true;
    else return false;
}

So now we should check IsQuestAssigned to see what that is doing:
Code: [Select]

QuestAssignment *psCharacter::IsQuestAssigned(int id)
{
    for (size_t i=0; i    {
        if (assigned_quests[i]->quest->GetID() == id &&
            assigned_quests[i]->status != \'D\')
            return assigned_quests[i];
    }
    return NULL;
}

So this returns NULL if the quest is not found in the assigned quests list.  

So lets take a look at that:
(gdb) p assigned_quests
$3 = {count = 5, capacity = 16, threshold = 16, root = 0x12204fa0}

Ok there is only 5 elements in there.  Lets take a look and see if we
can find the one with our id in it.
Code: [Select]

(gdb) p assigned_quests.root[0]->quest->id
$4 = 11
(gdb) p assigned_quests.root[1]->quest->id
$5 = 15
(gdb) p assigned_quests.root[2]->quest->id
$6 = 19
(gdb) p assigned_quests.root[3]->quest->id
$7 = 20
(gdb) p assigned_quests.root[4]->quest->id
$8 = 23


Aha so we can see that our quest we are looking for is not found so
IsQuestAssigned(quest->GetID() is returning NULL therefore when we try
to use ->status on this it falls down and goes boom.


Solution?
Fix the
bool psCharacter::CheckQuestCompleted(psQuest *quest) function to check
for null pointer first.
Code: [Select]

QuestAssignment* assignment = IsQuestAssigned(quest->GetID());
    if (assignment && assignment->status == \'C\')
    ...
   
Now this will make sure assignment exists first before trying to use ->status on it.

So that bug should be fixed ( I hope ) and I can delete that core file and move on to the next one.


15
Development Deliberation / Weekly Summary
« on: August 28, 2005, 06:58:51 pm »
Brief summary of latest CVS changes.  Note these are NOT for the current release but are the latest developments.

Using CS/CEL/CAL3D as of 00:00 on Aug 12/2005.


21/08/2005 - 28/08/2005

Client
  • Fixed Bug #757
  • Fixed Bug #131
  • New link in character creation screen that shows naming rules.
  • Fixed Bug #293
  • Fixed Bug #692
  • Fixed major potential slowdown when characters loaded.
  • Fixed combat sound handling.
  • Started new window \'crafting info\' that explains how to craft items. As shown here
Server
  • Fixed \"Waiting on server\" error.


Web
  • Graph stats page on laanx: Stats

Pages: [1] 2