Jump to content
Search In
  • More options...
Find results that contain...
Find results in...


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Spirited

  1. Spirited

    Client : Editing resolution

    So, I've never done this before and maybe this is a super naive approach, but you could try debugging the client at OpenSSL's RSA_public_decrypt method and see what the public key is. I can see server.dat's XML reader use that function, so maybe that'd be a good start? Hopefully someone more knowledgeable can answer this better. I guess if you simply wanted to remove the decryption, you could overload the method using a hook to just return the input argument. It looks like that configuration manager for handling RSA decryption is used by multiple client files though.
  2. Spirited

    File Manager - Encrypt/Decrypt Files

    I know with latest, a lot of the files are also LuaVM encoded, and I don't know anyone working on anything close to latest. Maybe someone will pitch in, but you might be on your own.
  3. Spirited

    File Manager - Encrypt/Decrypt Files

    What patch is that for @Super? I've never seen that file before. You might be out of luck unless someone else is working on whatever patch that's from.
  4. Introduction Comet is a Conquer Online server project containing an account server and game server. The account server authenticates players, while the game server services players in the game world. This simple two-server architecture acts as a good introduction into server programming and networking. The server is interoperable with the Conquer Online game client, patch 5017 (not provided by this project). Discussion This project was initially created for an interview as a 3-week programming project. Now, it's a base source that I'm opening up to the community. Feel free to add to it and submit push requests. I'm mostly active on my GitLab account, but feel free to hit me up on Discord or Cooldown if I don't get to things soon enough. Links Source Control: https://gitlab.com/spirited/comet Readme: https://gitlab.com/spirited/comet/blob/master/Readme.md Issue Tracker: https://gitlab.com/spirited/comet/issues Storyboard: https://trello.com/b/tb8ChBlF/comet
  5. Spirited

    Comet - Open Source Conquer Online Server

    Updated the socket system to use inheritance for the server actor class. Allows for cleaner socket event definitions for connect, receive, and disconnect. Changes: https://gitlab.com/spirited/comet/commit/c416b6df6d7df983469f55d20b8eea0285a01424
  6. This is why it's important to have mirrors and archives for downloads for an online game, and some way of applying patches manually. Autopatches are nice, but limited if something goes wrong with either the network or service/client configuration. Edit: Moved from Introductions to Off-Topic and added tags
  7. Spirited

    Conquer Map Editor/Creator

    I don't think there are any public or private map editors out there. Ultimation was the closest to completing one, but wouldn't share it publicly. It's a lot of work to share (his included a full client engine and visual editing). I don't have any updates on my end due to work, but I still have it on my back burner.
  8. Spirited

    Comet - Open Source Conquer Online Server

    Cool, I hope you get a small kick out of it. It really is bare bones right now, though. It logs in and that's it. I hope others will pick it up and contribute, but only time will tell. I know I have too many projects going on to work on it right now. Hope you get something from it, at the least. Let me know if there's anything I can help with, too.
  9. Spirited

    Packet [1052] Game

    Lol, that would do it. Btw, packet references are available here: https://gitlab.com/spirited/conquer/wikis/Packets/Packets. If you find something not documented, it's open source, so feel free to contribute.
  10. Spirited

    RC5 Package - Go

    Looks good. Btw, I recommend taking a look at Visual Studio Code and the Go extension for it. It'll automatically help you lint your code using downloaded tools (like golint). I use it on my project, and it reminds me to add comment blocks to functions and reduce package naming redundancies. It's been a really useful tool to have while learning Go. Anyways, thanks for the contribution - looks very nice.
  11. Spirited

    Go RC5 Cipher Problems

    You are correct. I don't think I reference that function, but feel free to log a bug against it and I'll fix it once I return home (I'll be out for another few days). Thanks!
  12. Spirited

    Hello world

    Welcome to the community, very cool. Another Go programmer! Whoo-hoo! Please don't look at my older Go code, it's really embarrassing. 😅 Hope you stick around with us. Would be cool to see more from you. I see a lot of really bright engineers come from the military, so I'm sure you'll do well. Word of advice though, Data Analytics is a very narrow field of study. If you take the general approach or take more classes that specialize in algorithms, machine learning, and data extraction, then you'll be right on track. Good luck with your studies.
  13. Spirited

    Go RC5 Cipher Problems

    It looks like this line of your seed generator may be wrong. c.mKey[z] = uint32(seed[z]) Should probably be: c.mKey[z] = uint32(seed[z * 4]) Here's another reference from one of my C# projects, if it helps: https://gitlab.com/spirited/comet/blob/master/src/Comet.Network/Security/RC5.cs https://gitlab.com/spirited/comet/blob/master/src/Comet.Core/Mathematics/Rotations.cs
  14. Spirited

    Client : Editing resolution

    This is a very nice tutorial. Thanks for putting in the time to make this.
  15. Spirited

    Go RC5 Cipher Problems

    What patch are you programming for?
  16. Spirited

    Go RC5 Cipher Problems

    Hi W1cked, Here's a good reference in C#: https://gitlab.com/spirited/conquer/snippets/1840791 If I can make a recommendation, you could implement it using the crypto/cipher interface (like this implementation I found does). Spirited
  17. Introduction Without a doubt, Conquer Online's emojis / emoticons are outdated. Luckily, adding new emojis to the client is relatively easy. New emojis must be 32x32 pixels. This tutorial also requires editing DDS assets in the client. You can find a tutorial on how to edit those assets here. Tutorial Open data/EmotionIco in the client's directory Add or edit existing dds files for different frames of the animated emoji (doesn't have to be animated) Add or edit existing JPG files for the same frames in data/EmotionIco/JPG Edit ani/EmotionIco.ani with the new frames (see example below) Restart the client and enjoy your new emojis Example [ICON68_bmp] FrameAmount=4 Frame0=data/EmotionIco/jpg/68/1.jpg Frame1=data/EmotionIco/jpg/68/2.jpg Frame2=data/EmotionIco/jpg/68/3.jpg Frame3=data/EmotionIco/jpg/68/4.jpg [ICON68] FrameAmount=4 Frame0=data/EmotionIco/68/1.dds Frame1=data/EmotionIco/68/2.dds Frame2=data/EmotionIco/68/3.dds Frame3=data/EmotionIco/68/2.dds Pictures
  18. Spirited

    Client: Editing Assets

    Introduction Conquer Online is an isometric game made up of 2D assets and 3D object files. These 2D assets are stored in DDS format, used for map tile backgrounds, scenery objects, texture maps for 3D objects, etc. Most DDS files in the client are compressed in WDF files which can be extracted using a tool from the wiki. This tutorial shows how assets can be edited in Paint.NET, a free paint program which supports DDS format. Other editors can be used, such as Photoshop with the following NVIDIA DDS plugin. Gimp also includes a DDS plugin. You can also view DDS files from Windows Explorer using this thumbnail shell extension (still works on Windows 8/10, but only enable DDS viewing to avoid problems with live tiles in the start menu). Tutorial In this tutorial, I'll be editing a tree in Twin City. Start by extracting data.wdf in the root folder of the client Find the tree asset in data/map/mapobj/newplain/plain/ Open np09.dds in Paint.NET and make some modifications When saving the file, select "DXT3" with "Range Fit" compression Restart the client and confirm your edit Pictures Saving: Before: After:
  19. Spirited

    Client: Login Advertisements

    Introduction This feature was added with the release of the first Conquer Online 2.0 client (patch 4282) to advertise other games (such as Zero Online). It was removed with the New Dynasty expansion client (patch 5032). This feature can be configured to hit your own hosted advertisements for tips and event notifications. Advertisements can be set separately for different servers, and have different colors, fonts, positions on screen, etc. Tutorial Open ini/common.ini in the client's directory Find the ServerAdv section and define URLs for the two supported resolutions Use the format below for your hosted text file of advertisements Examples See attached files for examples. ServerAdv.txt ServerAdv1024.txt
  20. Introduction The Conquer Online client has bubble indications for the server's status. It shows next to an available server icon as a purple, green, yellow, or red bubble. By default, if the client can't contact the server, this bubble will show up as purple. You can set the client to check your own status page when displaying this indication. Tutorial Open ini/common.ini in the client's directory Find the "ServerStatus" section and edit the URL key to your own website's status page. Format your status page as a line-separated list of server names to status IDs using the table below. Status IDs 0 = Server Down 1 = Server Overloaded 2 = Server Busy 3 = Server Online Example Status Page The following is an example of two servers being listed by the plain text status page: Meteor 3 Thunder 2 Picture
  21. Spirited

    Hello, beautiful people

    Well, I'm working on bringing some of that lost community here for Conquer Online. I'd love to see new content, new members, etc. I'm on vacation right now, but I hear you loud and clear. I'll see to opening the new section soon, and I'll be sure to focus on learning and growth. Again, welcome to the community. I hope you can grow with us here.
  22. Spirited

    Guide: Development Wiki

    Introduction The Conquer Online private server development wiki is hosted on GitLab, a free and open git repository hosting website. All articles are written in Markdown. To make an edit to an article or write a new page, simply clone the Git repository, make your edit, and create a pull request to merge your changes to the wiki. I try to check for pull requests at least once per day. If you're a regular contributor, I will promote you so you can approve requests on your own. Alternatively, I can add content on your behalf if it's a small change. Enjoy, and please contribute. Link Wiki Home
  23. Spirited

    Guide: Client Downloads

    Introduction This guide helps you set up and configure the Conquer Online game client to connect to a private server. To get started, download a specific patch for the game below. If you're downloading a open source server project, match sure to match up the patch numbers correctly. If the patch doesn't exist in the list below, download a lower patched client and patch upwards using the provided patch archive. After you finish downloading the client, decompress it using 7-Zip. Configure Download the ConquerLoader launcher by Nullable and extract its contents to the client's directory. Make sure ConquerLoader.exe is in the same directory as Conquer.exe. It's common that anti-virus programs will incorrectly flag the launcher as a virus, so you may need to whitelist the executable. This is because the launcher uses code injection to redirect traffic to your private server. To configure its location, open LoaderSet.ini in Notepad and edit the IPAddress field. Some clients crash when using an internal or loopback IP address, so you may need to use your public IP address and set up port forwarding. Older clients may not encrypt Server.dat, a file in the same directory as Conquer.exe. If the file can be opened in Notepad, then you may edit the file rather than using ConquerLoader.exe. Here's an example edit for Server.dat on patch 4294 (below). Loopback IP addresses may not work depending on the patch. To bypass the "Run play.exe" error when running Conquer.exe directly, start the executable using "blacknull" as a command-line argument. You can provide command-line arguments using shortcuts or cmd. [Header] GroupAmount=1 Group1=GroupPic5 [Group1] ServerAmount=1 Server1=Meteor Ip1= ServerName1=Meteor HintWord1= Pic1=servericon33 Warning Some clients around patch 5002-5017 state that they contain a virus. They do not, this is a false positive. Do not start clients using start.exe on patches around 5022-5095. An antivirus program was added to the client that crashes Windows Vista and higher. Always run the clients using Conquer.exe or the provided launcher to avoid these issues. Downloads 4217 4267 4274 4294 4330 4343 4351 5002 5017 5065 5095 5127 5165 5187 5290 5355 5517 5615 6090 Archives: Mirror Installations: Mirror Patches: Official, Mirror (Recommended) Common Error Messages "Server maintenance. Please try again later!" Could not connect to the account server. If local, check that the internal IP address is correct. If remote, check your firewall and port forwarding settings. Restart the client if you change server.dat or the loader's IP address. You can check port forwarding at this website. "Connecting to the account server" If the client hangs here, then the MsgAccount packet isn't being handled correctly and the client is still waiting on a response. "Failed to connect to the game server. Please try again later." Check that your game server's port is being forwarded correctly using this website. If another player is getting this error and you aren't on your local box, then check that the IP address you send using MsgConnectEx is an external IP address and (again) that your port is being forwarded correctly.
  24. Spirited

    Readme: Advertisement Rules

    Hello there! Got a Conquer Online private server you'd like to share? Before you do, please keep the following rules in mind when advertising your server: Ownership: Please only post a server advertisement if you own the server or represent the server's owner Security: Websites with glaring security issues that put members at risk will be removed Scams: Servers are only permitted to advertise once, no sneaky name changes or recycled servers Link-back: Help us grow so we can help you grow; post a link to Cooldown in text or using our logo (dark, light, banner) Lastly, remember to be open-minded and honest when accepting feedback. If you have any questions, feel free to contact me or another staff member at any time. We're here to help. Good luck and have fun! Best Regards, Spirited & Staff
  25. Pretext Hi everyone. I decided a few months back, after the chaos of moving jobs and finishing schooling, that I'd get back into my hobby projects. You've probably seen some of that on discord, like my TV case project (which I'll post here soon, too) or my Conquer Online portal editor in Go, but the biggest project I have is still largely up in the air. Chimera is my Conquer Online private server idea, and it's gone through a few iterations of designs. Before I ask for feedback, here's a quick introduction to the project (ripped from its readme file). Introduction Project Chimera is a four-role open distributed server architecture, named after the mythical four-headed beast. The game service is composed of an authentication server, gateway server, realm server, and fog of region servers. As players connect using the Conquer Online game client, their login will first be validated against the authentication server. Then, their client will be redirected to the world's gateway server, which decrypts and routes packets to and from the realm server and active region server. The region server services the player using a vertical slice of the game world, and the realm server instructs the region server on which slice it hosts. The separation of roles into individual, independent servers allows Chimera to experiment with rolling upgrades and server maintenance without interrupting players. Its distributed architecture allows for the game service to accept a large amount of players concurrently, while also delivering feature rich maps and monster AI. Diagram Here's a quick diagram I came up with for my own use in Visio. Discussion So, I found out recently that the way I was doing error handling in Go was wrong. I adjusted that and returned back to my original source in Go. I laid out all the project structure, figured out how packages will relate to one another, the interfaces I'll use for mapping everything together across all projects, etc. I felt like Go was a good starting choice. It introduces a lot of risk, but this isn't exactly a business project... so I thought I'd give it a try. In my experience, Go has a much better time handling request volume than C# does (comparing the async-await model in C# to goroutines in Go). Go also has a lot of language support for security, including a really solid big number implementation, and great networking support. C# is my fall back, but I'm going to try with Go first. My main concern is the architecture. I've been trying to poke holes in it, and so far felt pretty confident in it. I'm not taking the project too seriously, but I do plan on running these servers on Raspberry Pis and Pi Zeroes to better exacerbate performance issues during development (and just for fun to toy with different docker deployment models). But in general, what are people's thoughts here? At the end of the day, if something does go wrong, I can at least share that experience here - but I'd hope it'd go well. Thanks for reading.

Important Information

By using this site, you agree to our Terms of Use.