Jump to content

Search the Community

Showing results for tags 'CPPS'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Solero
    • Community Guidelines
    • Community Discord
    • Announcements
    • Suggestions and Feedback
  • CPPS
    • General
    • Support
    • Showcase
    • Tutorials
    • Releases
  • Programming
    • General
    • Releases
  • General
    • General Chat
    • Introductions
    • Gaming
    • Tutorials
    • Music
  • Archives
    • Public Archives
  • the pussy patrol's Topics
  • Weebs's Videos
  • the pussy patrol's REALLY HEATED DEBATES


  • Files
  • the pussy patrol's Files


There are no results to display.

There are no results to display.

Found 13 results

  1. Are there any tutorials on setting up an AS3 CPPS on a server where you can have a custom domain, aka making it operate not on localhost. I have found tutorials on setting up an AS2 server, and have done and have found tutorials on setting an AS3 server on localhost, and have done but don't know the process and decompilation of setting up an AS3 server on a CPPS. I know the process is a lot more difficult but I have become bored with the AS2 server. Thank You
  2. Pengable 3 - The New CPPS. Pengable Is A Fun and Friendly CPPS Made By Fans, Loved By Fans. Pengable Is Also Looking For SWF Designers! Discord - https://discord.gg/v8mTBnr
  3. How do I mod myself on kitsune? I made a cpps and I am not a mod. Please help! Here is the video I watched on how to make a cpps:
  4. Penguin Hangout - The New CPPS! Hello! I am Chandler010, owner of Penguin Hangout. I invite YOU to a new CPPS releasing very soon! Penguin Hangout is unlike any other CPPS. Penguin Hangout is a mixture of ALL Club Penguins eras! With active and nice staff, friendly environment, and multiple parties, we guarantee you fun on our island! Join other Penguins as you Waddle and explore the island. We can't wait for you to join us on the island THIS FEBRUARY! Discord - https://discord.gg/Kn2XZ8m Waddle On!
  5. hey guys i wanted to inform here, that there is PE2 source available to download idk whether this is right place to post there is link for tutorial http://forum.ragezone.com/f858/tutorial-setup-club-penguin-private-894970/ there is link for download http://www.mediafire.com/?wbhux49ntdfd42d if you're interested about seeing private servers check out my website here > https://goo.gl/Pt4rgq
  6. Hello, I would like to know, how to create a cps as2 in ubuntu? Could I pass the files, and at the same time explain how to configure it?
  7. Hello! Im Dinner the owner of the cpps Wild Penguin! Wild Penguin is coming soon! Join our discord for updates and mascot sightings! https://discord.gg/YepfQ8K
  8. Hey everyone, It is clear to me, and many of you, that things are a little.... quiet? I'm not necessarily talking about Solero, but our community in general, especially on the development side of things. 2017 was a big year for us to some degree, the closure of the Club Penguin game meant we saw a short uproar in activity and productivity, for some time people were showing a lot of interest in private servers again, and many ex-cp players were looking to make their own servers, I know this because shortly after Club Penguin closed, I was approached by around 50 individuals asking for help, which of course I offered! It was a breath of fresh air to me, going back to how things were just a few short years ago. It has now been two years since the closure of Rile5.com, which I still miss, honestly, the nostalgia I'd get from visiting that site again would truly be insane. I am proud to have been involved in all this, however, it is a very big part of my life, a part I can't imagine I'll ever forget. My love for computer programming and hardware was born from the people in the CPPS community, I can't help but think how different things would have worked out for me had I not registered on the beloved R5 :) Anyway things are slowing down again. What does the future hold for Solero? Solero is STAYING, this box isn't used solely for Solero, so it will stay for as long as my need for this server stays. The icerink archive stays until it gets taken down by ledisney. I will always be around, but I'm no longer actively writing code, helping people out or working for clubpenguin-related projects, mainly because there's no demand for help but also because I've grown out of this. Solero will also get maintained in my free time, so I don't get hacked. If you make a topic here I'll probably read it. What does the future hold for the community? The official death of flash has really marked the end of the road, with HUGE clients such as Chrome, Firefox and Edge thinking of throwing in the towel, things really don't look promising, the chances of flash becoming FOSS are slim, IMO. I don't think private servers will still be around for the 2020 exit of Adobe Flash, however, Club Penguin simply isn't an impressive game by today's standards, kids can get so much more out of other platforms. If you have been a part of this community, thank you for helping make my childhood slightly more interesting . Good luck to you all, I wish you the best.
  9. Hey all, Some of you might've seen me around the Forums, if you don't know me I'm Zach but please call me Ninja or Ninjaoninja2 whichever you prefer. I'm starting up a CPPS and am looking for Designers, One other add-on dev to help, and tons of moderators. I should have a site running soon, should be no more than 2 days as I'm customizing some of the site to my liking. If in the meantime, you'd like to help out see the details below and then PM me here on Aureus. Hope to see you soon. ;) Designer requirements: Must have designed for at least one CPPS, AND show proof of work. Must have efficient communication skills. Designer side notes: I AM willing to pay, I'd rather not though. So if you REQUIRE payment... please send in a payment rate/amount and we'll hopefully work things out. Developer requirements: MUST have experience in ActionScript2. MUST have efficient communication skills. Developer Side notes: If you enjoy web development, you may contact me as well. I have a job(s) for you to do as well. ;) Moderator Requirements: MUST be AT LEAST 14 years old. MUST have good communication skills. MUST be willing to allow me to read posts and other media you post to "screen" you. MUST have efficient communication skills MUST be willing to be semi-professional at ALL times, on the job. Moderator Side notes: You'll have better chances IF you are over 16+ (can't really help it if you're not but sorry, just the way it is.) or have worked on a CPPS as moderator and DIDN'T get fired. (So, if you quit you're fine, OR if you still help out on that CPPS.) Website: Coming soon. Below is the logo for my CPPS, transparent if anybody might want to add it to a list or something. So, thanks for reading. And I'll update everything, when it's ready.
  10. Official thread for Icer.ink - Club Penguin Media Archive Hello everyone, I have recently taken it upon myself to produce a clone of Club Penguin's client media. I built this by parsing JSON and XML configuration files, but also by making use of other techniques such as basic web scraping and by auditing a lot of the action script code inside the client files. The end result is around 4GB of game media (uncompressed). The root directories are named after their respective web domain. Browse the directories Download media (4.4GB)
  11. Hello everyone, Many Club Penguin Private Servers make use of only one world server, this is generally a good thing as it keeps all of your players together and helps encourage social interaction between players in the game. Club Penguin has always given the players the option to choose which world server they want to join, but if there is only one world server, what's the point in providing users the option? I wrote some code which will give you the ability to remove the world selection screen from the game entirely, this not only makes login faster thanks to not having to ask the user for input, but also because we no longer need a login server at all, we just authenticate with the world server and call it a day. Here is the actionscript code for the dependency shockwave flash file: import com.clubpenguin.util.*; import com.clubpenguin.crypto.*; var SHELL = _global.getCurrentShell(); var AIRTOWER = _global.getCurrentAirtower(); AIRTOWER.connectToLogin = function(in_username, in_pass, login_response) { if (!AIRTOWER.is_logged_in) { AIRTOWER.on_login_response = login_response; AIRTOWER.username = in_username; AIRTOWER.password = in_pass; AIRTOWER.server.onConnection = Delegate.create(AIRTOWER, AIRTOWER.handleLoginConnection); AIRTOWER.server.onExtensionResponse = Delegate.create(AIRTOWER, AIRTOWER.onAirtowerResponse); AIRTOWER.server.debug = true; AIRTOWER.addListener(AIRTOWER.HANDLE_LOGIN, AIRTOWER.handleOnLogin); var _local1 = SHELL.getWorldCrumbs(); var _local2; var _local3; for (_local2 in _local1) { _local3 = _local1[_local2]; break; } SHELL.world_id_holder = _local3.id; AIRTOWER.server.connect(_local3.ip, _local3.port); } else { AIRTOWER.shell.$e("connectToLogin() -> Your already logged in! Cant login again"); } } AIRTOWER.handleLoginConnection = function(success) { if(success) { AIRTOWER.login(); } else { AIRTOWER.on_login_response(false); } } AIRTOWER.login = function() { AIRTOWER.server.login("w1", AIRTOWER.username, AIRTOWER.getLoginHash()); } AIRTOWER.handleOnLogin = function(obj) { AIRTOWER.removeListener(AIRTOWER.HANDLE_LOGIN, AIRTOWER.handleOnLogin); AIRTOWER.shell.setMyPlayerId(obj[1]); AIRTOWER.playerId = obj[1]; AIRTOWER.login_key = obj[2]; AIRTOWER.on_login_response(true); AIRTOWER.is_logged_in = true; SHELL.gotoState(SHELL.PLAY_STATE); } SHELL.connectToWorld = function() { var _local1 = SHELL.getWorldById(SHELL.world_id_holder); SHELL.showLoading((SHELL.getLocalizedString("Joining") + " ") + _local1.name); AIRTOWER.joinWorld(); } AIRTOWER.handleJoinWorld = function(obj) { AIRTOWER.removeListener(AIRTOWER.JOIN_WORLD, AIRTOWER.handleJoinWorld); var _local6 = Boolean(Number(obj[1])); var _local3 = Boolean(Number(obj[2])); var _local5 = Boolean(Number(obj[3])); var _local4 = Boolean(Number(obj[4])); AIRTOWER.on_world_response(true, _local6, _local3, _local5, _local4); AIRTOWER.on_world_response = undefined; } AIRTOWER.joinWorld = function() { AIRTOWER.server.onConnectionLost = Delegate.create(AIRTOWER, AIRTOWER.handleLostConnection); var _local2 = new Array(); _local2.push(AIRTOWER.playerId); _local2.push(AIRTOWER.login_key); _local2.push(AIRTOWER.shell.getLanguageAbbriviation()); if (AIRTOWER.isRedemption) { AIRTOWER.addListener(AIRTOWER.REDEMPTION_JOIN_WORLD, handleJoinRedemption, AIRTOWER); AIRTOWER.send(AIRTOWER.REDEMPTION, AIRTOWER.REDEMPTION_JOIN_WORLD, _local2, "str", -1); return(undefined); } AIRTOWER.on_world_response = SHELL.connectToWorldResponse; AIRTOWER.addListener(AIRTOWER.JOIN_WORLD, AIRTOWER.handleJoinWorld); AIRTOWER.send(AIRTOWER.PLAY_EXT, (AIRTOWER.NAVIGATION + "#") + AIRTOWER.JOIN_WORLD, _local2, "str", -1); } AIRTOWER.getLoginHash = function() { return SHA256.hash(AIRTOWER.password); } Now, since the way that the client authenticates is slightly different, your server will need to be modified to support it. In this case, I actually made mine use SHA256 hashing (thanks @Kevin) instead of MD5. There is also now no real need for a random key. Note you do not need to use SHA256 with this, it was just what I decided I wanted to use, if you want to go back to MD5, or use another authentication method entirely, you can do so by overriding 'AIRTOWER.getLoginHash'. With this code the client connects directly to the first localized world server in the world crumbs, performs the handshake, hashes the password and authenticates, then proceeds to get the players information. This is how the world server auth works: recv: <msg t='sys'><body action='verChk' r='0'><ver v='153' /></body></msg> send: <msg t='sys'><body action='apiOK' r='0'></body></msg> recv: <msg t='sys'><body action='login' r='0'><login z='w1'><nick><![CDATA[Ben_]]></nick><pword><![CDATA[SHA256]]></pword></login></body></msg> A couple of actionscript classes are required for this code to export, everything is zipped below, you'll also find a pre-exported version in there if you are happy to use mine. The SWF file goes in /play/v2/client/ of your media server, please add it to dependencies.json too: { boot: [ { id: 'airtower', title: 'Communication' }, { id: 'sentry', title: 'Communication' } ], login: [ { id: 'cookies', title: 'Login Screen' }, { id: 'login', title: 'Login Screen' } ], join: [ { id: 'engine', title: 'Engine' }, { id: 'interface', title: 'Interface' }, { id: 'gridview', title: 'Gridview' }, { id: 'mail', title: 'Mail' }, { id: 'book', title: 'Mail' }, { id: 'stampbook', title: 'StampBook' } ], create: [ { id: 'create', title: 'Create Penguin' } ], merch: [ { id: 'app', folder: 'merch/', title: 'Communication' } ] } End result: Please suggest improvements, specifically ways to improve the security, I'm sure this is pretty half-assed. Please ask if you're having troubles getting the server sided stuff to work. Works on only legacy private servers, not the new client, but could be easily ported. I'll do it if I ever find the time. cookies.zip
  12. Hey everyone, I frequently see people struggling with disableing the domain locking, logging services, and client checks embedded into Club Penguin client files to prevent the files being used outside the http://clubpenguin.com domain. I have written a tool in Python to help aid the process of disabling these functions, whilst maintaining the crossdomain policies within the files which actually act as a security feature. import zlib import logging import argparse from os.path import isfile, isdir, splitext, join, exists, dirname from os import walk, makedirs from glob import glob if __name__ == "__main__": logger = logging.getLogger(__name__) logging.basicConfig(level=logging.INFO) parser = argparse.ArgumentParser(description="Club Penguin client tool") parser.add_argument("path", type=str, nargs="*", help="Path(s) to files or directories") parser.add_argument("-d", "--domain", type=str, help="The domain to use (ex. clubpenguin.com)") parser.add_argument("-r", "--recursive", action='store_true', help="Enables recursive mode") parser.add_argument("-o", "--output", type=str, help="Output directory") parser.add_argument("-D", "--dump", action='store_true', help="Dump decompressed FWS data") arguments = parser.parse_args() logger.info("This program can overwrite files on the disk, make sure to make backups before" + " running this script or make sure the output flag is enabled!") for path in arguments.path: if isfile(path): logger.info("Found \"%s\"", path) paths = [path] elif isdir(path): if not arguments.recursive: logger.warning("\"%s\" is a directory but recursion is disabled! skipping...", path) continue else: paths = [y for x in walk(path) for y in glob(join(x[0], '*.swf'))] for file in paths: logger.info("Found \"%s\"", file) filename, file_extension = splitext(file) if file_extension != ".swf": logger.warning("\"%s\" is not an SWF file! skipping...", path) continue logger.info("Opening \"%s\"", file) raw = open(file, "rb") signature = raw.read(3) logger.info("Reading file signature for \"%s\"", file) if signature != b"CWS": logger.warning("File has invalid signature, file sig should be 0x43 0x57 0x43(\"CWS\")") continue header = raw.read(5) data = raw.read() logger.info("Read %d bytes from \"%s\"", data.__sizeof__(), file) logger.info("Decompressing") decompressed_data = zlib.decompress(data) original_data = decompressed_data if b'\x00clubpenguin\x00boot\x00BootLoader' in decompressed_data: logger.info("Found a BootLoader, cracking client checks...") s = b'\x00logEvents\x00boot\x00BootL0ader' decompressed_data = decompressed_data.replace(b'\x00logEvents\x00boot\x00BootLoader', s) s = b'clubpenguin.c0m' decompressed_data = decompressed_data.replace(b'clubpenguin.com', s) if b'clubpenguin.com' in decompressed_data: logger.info("Found clubpenguin.com") s = bytes(arguments.domain.encode()) decompressed_data = decompressed_data.replace(b'clubpenguin.com', s) if b'disney.com' in decompressed_data: logger.info("Found disney.com") s = bytes(arguments.domain.encode()) decompressed_data = decompressed_data.replace(b'disney.com', s) if decompressed_data == original_data: logger.warning("No changes were made to the data!") continue logger.info("Re-compressing data and appending file signature and header") compressed = signature + header + zlib.compress(decompressed_data) if arguments.output: file = join(arguments.output, file) if not exists(dirname(file)): makedirs(dirname(file), exist_ok=True) if arguments.dump: dump = open(file + ".fws", "w") dump.write(str(decompressed_data)) dump.close() logger.info("Copied dump to \"%s\"", file + ".fws") logger.info("Writing data to \"%s\"", file) output = open(file, "wb") output.write(compressed) output.close() raw.close() logger.info("Finished. Goodbye!") If you know Python a little then you will probably be able to understand how the script works rather quickly, as it is rather simple. It decompresses the SWF files to expose some of the actionscript constants within the file (no, this script does not make use of SWF disassemblers like RABCasm which makes my script very lightweight and very fast) The script has a few flags, some of which are just useful, and some of which you'll probably want to use every single time you run it. $ py iceburg.py -h usage: iceburg.py [-h] [-d DOMAIN] [-r] [-o OUTPUT] [-D] [path [path ...]] Club Penguin client tool positional arguments: path Path(s) to files or directories optional arguments: -h, --help show this help message and exit -d DOMAIN, --domain DOMAIN The domain to use (ex. clubpenguin.com) -r, --recursive Enables recursive mode -o OUTPUT, --output OUTPUT Output directory -D, --dump Dump decompressed FWS data Domain (required) tells the script which internet domain to replace security locks and logging services with. Recursive mode will make the script search through every directory below the path you specify for SWF files to check. Output changes the output directory, assuming the output directory is empty no files will be overwritten. Dump will make extra files containing the decompressed version of the data, useful for debugging purposes (for example if the script is making changes which break the SWF). Example usage on real Club Penguin media! /play/v2/client /play/v2/games/ Script download attached :~) Prerequisites Python 3 :) client-tool.zip
  13. CPBlog is a simple lightweight WordPress theme which will help you get a free working Club Penguin blog up and running. Version: 1.0 Download Link: Click Here This is a little project of mine which I want to continue working on and improving. Updates will come when I'm able to work on them and when I wish to work on them. I'll be working on a newer Club Penguin blog theme soon also. Requirements WordPress (download here) How to install: - Install WordPress - Go to admin Dashboard - On the left hand side hover over "Appearance" and click on "Themes" - Click on "Add New" - Click on "Upload Theme" - Download the latest version of CPBlog below, and install it as it. - Activate and Done! There is no dedicated support for this theme but you can leave issues and suggestions below. Please do not re-upload this theme elsewhere, use the same download link as when I push updates the link will be the same and I don't want people using outdated versions in the near future.