Quests should be designed to be blatantly single player, or team oriented. Team oriented quests are by far the more desirable. You are allowed to give exp rewards, stat increases, powerful weapons away as rewards for quests. But before you go and do this, make sure that you clear it with your domain lord or an admin. When a person or people finish a quest, you need only call #include "library.h" and LIBRARY->set_quest("player name", "quest name"); After you have done this, the player will be recorded as having done this quest. That function returns 1 if it is the first time they have done the quest. Do not reward players for redoing a quest. Also, try to make sure that all people helped in the quest, and try to reward them as evenly as possible.