This is a discussion on [Release] Albetros Custom Source (Latest Hellmouth) within the CO2 PServer Guides & Releases forum part of the CO2 PServer - Discussions / Questions category; THIS SOURCE IS FOR CLIENT VERSION 5518
Why I feel this is a good 'starter' source
Spoiler:
Originally Posted by ...
This is a basic test server. It's perfectly playable, people can log in, progress their character and use most of the game systems perfectly fine. It's far from a completed source though.
Personally I feel that's the ideal completion of a source for people to start with. I completely understand why everyone doesn't jump right on hybrid's 5017 or even impulse's 5165... they may be lovely base sources but if you're just starting out then there's literally nothing to do on those sources while you teach yourself and start working on the base.
On the flip side you have lotf 5017, ncos 5165 and new trinity sources running around where basically everything is 'done' but none of it really works properly... because of that people instead get the source running, feel like they are awesome and then get frustrated when people quit their 'epic' server because nothing fucking works properly xD.
I've mentioned the possibility of me releasing this for a while. I'm not going to provide much support and I KNOW how few people will take the time to figure out how to set this up so at least it will give me some fun reasons to check into the forum a bit more often the next week or two ahaaha.
This is the source that we wrote for the last version of hellmouth. There's nothing fatally wrong with it (unlike the old hellmouth source I released) and it has FAR more features.
Everyone seems a bit addicted to the leaked trinity sources so I won't bother trying to talk you out of using those instead if all you care about is half finished features.
Warning: We were experimenting with some new ideas and as such this will be FAR from efficient as it once was.. For example, I started to over use the DelayedAction system because it's delightfully simple to use... but it's all based on timers soooo that could be an issue if you continue to abuse that style of coding.
MAJOR WARNING: One of the main issues I had with running this as a live source was the issue with System.Random. I wrote a stupidly inefficient system onto the source which uses a variable numbers of randomly initialized random generators which are cycled through... This is pointless and dumb but I was trying LOTS of fixes. I'm not going to change it for this release. It's simple to alter and the REAL solution would be writing a threadsafe wrapper ontop of the system.random. Then there's no reason to be doing stupidly inefficient stuff like there is in the source right now.
UPDATED INSTRUCTIONS FOR SIMPLE INSTAL!
I've written a simple tool to create configuration files for you. People were getting confused as to how they find machine name and stuff. This does that all for you!
NEW VERSION 1.1[Only registered and activated users can see links. ]
Original Release: [Only registered and activated users can see links. ]
Step 2:
Download full version of mysql from here: [Only registered and activated users can see links. ]
NOTE: YOU MUST BE USING A FULL SQL INSTAL, REDISTRIBUTIONS SUCH AS XAMPP DO NOT WORK WITH THIS SOURCE
Step 3:
Download Navicat (not required if you prefer other sql management tools) from here: [Only registered and activated users can see links. ]
Step 4:
Download a 5517 Client. Official TQ Version [Only registered and activated users can see links. ]
Download our patches. Place them inside your conquer 5517 instal and run them in order (1001, 1002, 1003). [Only registered and activated users can see links. ]
Note: you may wish to run the conquerloader vs our play.exe. I will no longer be hosting our patches as of FEB 2012
Step 5:
Extract the source you downloaded anywhere you wish
Step 6:
Create a new database and execute the database backup from the source (inside the /sql/ folder). Easiest to do with navicat but doesn't matter.
NOTE: By default you would be using localhost, username root, password set during sql install.
Step 7:
Open the configuration tool in the main Albetros folder. Run it and enter valid information. Make sure it says configs were created successfully.
Step 8: Create an account in the database. Simply enter a username/password in the accounts field in the database.
Note: To be gm, set permission field to 5
Step 9:
Run the login and game servers from the respective folders (feel free to make shortcuts to simplify the process in the future)
Step 10:
Configure the client to connect to your server by opening LoaderSet.ini in the client folder and changing the IP to your hamachi/external IP (I strongly recommend using hamachi for setting up the source. It rules out the possibility of you not having port forwarded properly. You CANNOT USE 127.0.0.1! THAT WILL CRASH THE CLIENT!)
Step 11:
Login! Note: there's quite a bit to be worked on in the source still. It's not a download/run type station but this will let people at least figure out wtf is going on.
Some Common Commands
Spoiler:
/infect :: start infection event
/freeze :: start freeze war
/tdm :: start team deathmatch
/broadcast text :: send server message
/addtitle ID :: Give yourself a title (note, title id, not the actual contents of the title.)
/goto name
/call name
/heal
/map X Y ID :: teleport to a map at X/Y
/prof ID Level
/skill ID Level
/item itemName quality [+] [-] [enchant] [gem1] [gem2] (Example: /item ConquestArmor Super 12 7 255 13 13)
/itemid itemID [+] [-] [enchant] [gem1] [gem2]
/finditem string :: Look up items with given name (example: /finditem Meteor would return item IDS for all items with 'meteor' as part of name)
NOTE: This also includes our IRC chat bot which allows communication between website and game. This is active based on machine name also (so when testing it won't spam the irc with logins. Only when you host in on your live server).
If you want to leave this disabled then simply don't change it in the source. If you DO want to use it then just search for...
Code:
#region IrcBot init
Someone requested what features it has.. honestly I don't remember but I'll point out some of the main ones..
Finished Features/Nearly Finished Features
Arena: Works but I never bothered tweaking it or testing it so I KNOW it has some bugs
Monsters/Bosses: Including exp, drops, respawns, etc. NOTE: bosses are based on ARROW damage. This is to provide class balance. The only way to tank them is good boots
Refinery/Souls: Bonuses, costs, expiration in time.
Server/Website IRC interaction: If configured you can talk between website and game via irc
Guild War/Capture the Flag/Freeze War/Infection pvp matches: Freeze and infection are fb/ss skill fights
Guilds: Member list, donations, ally/enemy. Needs some npc options for transferring and such.
Server Side Anti Aimbot: VERY effective unless people are smart about how they aimbot.
Pvp Duelist (fb clone to fight yourself)
REAL exp ball system (it's exactly how tq does it therefor the calculations are 100 percent flawless)
Things PURPOSELY not added/removed.
Item downgrading (calculation is all in there. Feel free to code it)
Purification: You cannot make souls/refinery permanent)
Toxic Fog: Code it if you want.
Fan/Tower
Steeds (just removed what ones were available)
Shopping Mall (We are using an edited shop, feel free to change it)
File Link [Only registered and activated users can see links. ]
-- ----------------------------
-- Procedure structure for `GetNobilityDonation`
-- ----------------------------
DROP PROCEDURE IF EXISTS `GetNobilityDonation`;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `GetNobilityDonation`(IN rank INT)
BEGIN
DECLARE skip INT DEFAULT 0;
SET skip = rank - 1;
SELECT value FROM dyna_rank_rec ORDER BY value DESC LIMIT skip,1;
END
;;
DELIMITER ;
Code:
-- ----------------------------
-- Procedure structure for `GetNobilityPage`
-- ----------------------------
DROP PROCEDURE IF EXISTS `GetNobilityPage`;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `GetNobilityPage`(IN page INT, IN pageCount INT)
BEGIN
DECLARE skip INT DEFAULT 0;
SET skip = page * pageCount;
SELECT * FROM dyna_rank_rec ORDER BY value DESC LIMIT skip,pageCount;
END
;;
DELIMITER ;
That is throwing syntax errors near skip,1 and skip,pageCount
//edit As temporary fix I just used 0,1 and 0,pageCount until a proper answer appears.
//edit
Code:
-- ----------------------------
-- Procedure structure for `GetUserFriend`
-- ----------------------------
DROP PROCEDURE IF EXISTS `GetUserFriend`;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `GetUserFriend`(IN ownerId INT unsigned, IN count INT)
BEGIN
SELECT * FROM friend WHERE userid=ownerId LIMIT count;
END
;;
DELIMITER ;
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'skip,1;
END' at line 5
[Err] CREATE DEFINER=`root`@`localhost` PROCEDURE `GetNobilityDonation`(IN rank INT)
BEGIN
DECLARE skip INT DEFAULT 0;
SET skip = rank - 1;
SELECT value FROM dyna_rank_rec ORDER BY value DESC LIMIT skip,1;
END
;
[Msg] Finished - Unsuccessfully
Any reasons ? this happens at the end, in the like last 5 pct or something.