E-Gold Game Script Must be original PHP code, suitable for resale, and well commented. Cross platform compatibility is desirable. Prefer file based data storage to mysql or any other db system. (consider options with explanation why) Simplicity and operational security for novice webmasters is of prime importance. An installer script to match would be desirable. Payment via Scriptlance escrow service. 25% on acceptance of working version on your server, 50% upon delivery of final files and installed version on my server, and 25% upon final acceptance after testing. Please indicate if you are able to provide ongoing support, bug fixes and development of the script if requested. ------------------------- A typical example of a simple egold cycler script: (I'm not looking for a clone of this please) [url removed, login to view] I want a fixed length cycler game script that can provide the following user features: - Runs for 7 days, from midday Monday until midnight Sunday weekly. (game period length should preferably be configurable in units of HOURS, DAYS, WEEKS or MONTHS) - Payout varies, probably decreasing each hour/day/week/month during the game period. (eg: Mon - 115%, Tue - 110%, Wed - 105% etc) - Includes a "pre-sale" period before the cycler re-starts each new game period. - Players left with unpaid units at the end of each game are eligible to buy during the next "pre-sale" period. - Players who spend more than $100 in the previous game are also eligible to buy during next "pre-sale" period. ($ amount configurable by admin) - 3 random prizes are awarded to entries on the wait list at the public start time of each weekly game equal to 3%, 2% & 1% of the previous week's payouts. (number of prizes and % or $ value of each prize should be configurable by admin) - A player referral fee of 1% should be instantly on purchase where applicable. (% configurable by admin) - An admin fee of 9% is deducted from payouts. (% configurable by admin) Functionality: - Player selects X number of entries for $X each and optionally enters an email address where an entry and payout confirmation can be sent. - Player is directed to a payment confirmation page where they can also nominate the e-gold account number of their referrer. - If they have been sent to the site via a referral link, they should not have the option to change that number but it should be displayed to them. - Player clicks confirm payment button and is directed to the e-gold site payment page. - After payment confirmation from egold, the new entry ID number is displayed, a message is sent confirming the purchase details if an e-mail was entered and their entry is added to the bottom of the cycler wait list. - The referral fee is automatically paid to appropriate account if required. - If the new payment (after referrer payout and 1% egold receive fee is deducted) is enough to satisfy payout for the entry/s at the top of the list, they are automatically paid, less the admin fee, and moved to the paid list. - Any "leftover money" short of the next payment due is held awaiting the next purchase and adds to that total. - At the end of each day all entries on the waiting list are randomly re-ordered. (if option selected by admin) and an e-mail sent to all players still on the wait list confirming new position. - At the end of each day any "leftover money", as mentioned above, is automatically sent to the player left holding the #1 spot on the waiting list before it was re-ordered, as a 'bonus prize'. This doesn't count against their payout and their entry should be highlighted on the new re-ordered waiting list to show they won the bonus. (if they entered an email, send them a message to say they won) - At the end of each game, all players left with unpaid entries and all players who have paid in more than $100 are sent an e-mail advising them they are eligible to purchase entries for the next game first, during the pre-launch period. - Pre-launch should start a random number of minutes, between 1 and 59, after the last game closes. - During pre-launch entries are added to the new game waiting list in the order received but that list is not published. - When the new game starts, at midday Monday, new entries are added to the top of the visible waiting list in the order received. But pre-launch purchases remain invisible for the first 15 minutes and payouts are disabled. - 15 minutes after the game starts, the pre-launch entries are added to the top of the waiting list, payouts are enabled and the game proceeds properly. - At that same time 3 entries, out of those on the new wait list, should be picked at random to receive an instant bonus prize equal to X%, Y% and Z% of the previous weeks payouts. ie: Last week $1000 was paid out by the game. If the bonus prizes are set at 3%, 2% and 1%. Then 3 entries out of all those on the waiting list should receive $30, $20 or $10 each in prizemoney. Referral system: - Anyone can refer players to the site by simply adding ?ref=Egold# to the URL (a ban list and config option to disable referrals needed please) - Admin config option to allow un-referred players to manually enter a referrer or not. - If no referral account is used, allow the admin to select options of: 1) Commission stays with admin or 2) Commission is assigned to one player on the waiting list at random. or 3) Commission is added to bonus prize pool for following week's game. Interface notes: I want to display this information on the user website. - List of all waiting entries with an ID number, reference, value and payout amount at todays rate. - List of all paid out entries this week showing same as wait list plus buy date/time and payout date/time. - List of all entries who have been paid bonus prizes during the current game period showing entry reference, value and time paid. - Lifetime stats for games played on the site. - Current value of the 3 main bonus prizes for the next game (based on total payouts) - Value of previous week's 3 main bonus prizes and the entry ID that won each of them. Security: - Please point out areas in this script people might target to attack or exploit.. and how you propose to address those areas.