Konichu Posted May 11, 2023 Posted May 11, 2023 (edited) Hello Cooldown, I'm here to release (partially) the Canyon Suite.Canyon Suite is a Conquer Online bundle composed by the Game Server, Web APIs and Website (will not be released due to licensing issues), Launcher, Auto Backup and Discord Bot. Everything is being tested actually in a live server which is currently working with 70-130 online players.Everything is on Beta right now, so if anyone plans to use any of this be aware that there might be errors. The Launcher itself is not complete yet but it'll be soon.What is being released right now? Click here to check all repositoriesCanyon (Login, Game, Ai Servers) - Comet Based (Target Version 6192)Dragon (Launcher)Canyon.Stress.BotCanyon Authentication ServiceCanyon Realm ServiceCanyon Keycloak User Federation ProviderWhat will be released in close future?Discord BotQ: Login server won't startup due to invalid client error, what can I do?R: You can create an API to provide the login information or you can change the login sequence to communicate with a MySQL Server. I aint providing my current Web API.Canyon (Login, Game, Ai Servers) - Comet Based (Target Version 6192)The Conquer Online game server, this server targets the version 6192 of the official english client. It still do not support DragonWarrior class or Epic Weapons, those will be added after finishing the Tournaments of the game (ElitePK, TeamPK, SkillTeamPK).This is probably the most complete high version public source which actually handles things like Conquer did. I were a player at that version and I am trying to achieve what I used to play at that age.It's compatible with the latest leaked CQ database (and you'll probably need it to get some tables working), besides what's in the repository I aint sending updated database file.Dragon - LauncherThe launcher is ready for version 6192 with Server.dat injection. This version does not have Flash anymore, so you don't need to release the launcher with Flash module.The Launcher has been done with .NET 7 and has a publish profile which will create an executable that may run in any Windows Version without installing anything. The downside is that it's a 150mb folder.Canyon stress botA simple tool which will login as many fake accounts as you need to stress your server. The bots walks, jump and attack. (AI must need some work btw)Edit:Added a database dump with latest structures and some data. It contains no cq_action or cq_task data.Edit 2023-08-15:Added database structure for version 6192. No data or LUA scripts will be provided for this.Edit 2023-10-09:Added a provider for Keycloak to use within Canyon for OIDC.Credits:@Spirited for Dragon and CometLee for the help with client addressesdumps.7zaccount_conquer.zip6192_structure.7zTables structures for account and game after update 6192. No data will be provided. Edited October 9, 2023 by Konichu Quote
Spirited Posted May 11, 2023 Posted May 11, 2023 Great job with this! I'm looking forward to reading through your changes more once I'm done moving. If you wanna... you can also set up pull requests against Dragon or Comet with things you feel are relevant. Only if you wanna, though. I'd be happy to review them from my phone. Again, great work on this. Can't wait until I have some time to skim through it. Quote
Akhlis Posted May 12, 2023 Posted May 12, 2023 Huge! I guess I have some lecture to do over this weekend :) Quote
Konichu Posted May 16, 2023 Author Posted May 16, 2023 The game source code is public now.Database probably is targeting 5838 and may have some structures missing. I won't be providing this for now since it has a lot of work in the database, but if you have the leaked database assets from 6900 it will fit for a lot of stuff.Client wont be provided, I still use retail 6090 client with no edits. Quote
Omicron Posted May 25, 2023 Posted May 25, 2023 Small suggestion regarding the backup tool, you could also set up a scheduler in the OS. That way you won’t need to keep the program running. Quote
Konichu Posted May 27, 2023 Author Posted May 27, 2023 Small suggestion regarding the backup tool, you could also set up a scheduler in the OS. That way you won’t need to keep the program running.I was thinking about it too, but I'm thinking about adding more features to this. Maybe a maintenance server or something to automate other stuff. Quote
Smallxmac Posted May 30, 2023 Posted May 30, 2023 Glad to see you contributing this here. I know sometimes it has hard to open up the stuff you have been putting effort into. Regardless thank you, doing so helps the community in the long run. Quote
Konichu Posted June 5, 2023 Author Posted June 5, 2023 Just had an issue in the running server: monsters stopped to respawn.Reason: Server 24 days onlineSolution: Restart windowsHeadache: 1 hour debugging code to think about Environment.TickCount Quote
Malice Posted June 5, 2023 Posted June 5, 2023 Just had an issue in the running server: monsters stopped to respawn.Reason: Server 24 days onlineSolution: Restart windowsHeadache: 1 hour debugging code to think about Environment.TickCountThis is because Environment.TickCount returns values from Int32.MinValue to Int32.MaxValue. Therefore, if the system has been running for 24.9 days, the counter will turn negative and the expression Expired = Environment.TickCount-Elapsed > Timeout will return false for the next 24.9 days. Quote
Konichu Posted June 5, 2023 Author Posted June 5, 2023 Just had an issue in the running server: monsters stopped to respawn.Reason: Server 24 days onlineSolution: Restart windowsHeadache: 1 hour debugging code to think about Environment.TickCountThis is because Environment.TickCount returns values from Int32.MinValue to Int32.MaxValue. Therefore, if the system has been running for 24.9 days, the counter will turn negative and the expression Expired = Environment.TickCount-Elapsed > Timeout will return false for the next 24.9 days.Yeah, I know. I did forget about it and then lost some time trying to solve the problem. Quote
darkfox Posted June 9, 2023 Posted June 9, 2023 A very good contribution to this community that has been dying for a long time, thank you very much Quote
Konichu Posted June 17, 2023 Author Posted June 17, 2023 Update 2.1.0-preview is on the development branch already.It does not add nothing to the game itself but only a GM Tools server which will integrate to a GM Panel online.What is Canyon.GM.Server?Canyon GM Server (aka Piglet) is being developed and may change a lot in the next days. Since I plan on maybe upgrading to versions which use ProtoBuf I started using it already for the GM Server. It will make sure that realtime actions made in the GM Panel reflects into the game servers that are connected.It also adds a new MsgBase which will be used to ProtoBuf packets (actually only for usage on GM Server) and may be used in the current server settings without any new addition.public abstract class MsgProtoBufBase<TActor, TData> : MsgBase<TActor> where TActor : TcpServerActor { public MsgProtoBufBase(PacketType packetType) { Type = packetType; } public TData Data { get; set; } public override byte[] Encode() { using var writer = new PacketWriter(); writer.Write((ushort)Type); Serializer.SerializeWithLengthPrefix(writer.BaseStream, Data, PrefixStyle.Fixed32); return writer.ToArray(); } public override void Decode(byte[] bytes) { using var reader = new PacketReader(bytes); Length = reader.ReadUInt16(); Type = (PacketType)reader.ReadUInt16(); Data = Serializer.DeserializeWithLengthPrefix<TData>(reader.BaseStream, PrefixStyle.Fixed32); } } Different from other packets, the ProtoBuf packets do not need to override Encode and Decode methods.The GM Panel will be added here in the first message as soon as I make sure everything is working as planned, for now I just tested the ban feature which is working fine and if a user is online and the GM locks his account in the GM Panel it will be disconnected from the game server.Edit: Account tables has been added to the main post as an attachment: account_conquer.zip Quote
Konichu Posted June 27, 2023 Author Posted June 27, 2023 Version 3.0.0 is ready on repository for preview.It's an update to 6132 which will probably be the final version of Canyon.Not ready for being hosted as server since I'm working on LUA implementation to execute the leaked scripts.https://gitlab.com/world-conquer-online/canyon/canyon/-/tree/feature/6132 Quote
Konichu Posted August 1, 2023 Author Posted August 1, 2023 Canyon now has a Stress test tool which is designed to work on 6192 branch (which will soon be merged with development).https://gitlab.com/world-conquer-online/canyon/canyon.stress.botI'm no bot or AI developer, created a simple AI just to attack, jump and walk (and it do everything pretty bad I must admit). All help will be appreciated. Quote
pirates Posted August 6, 2023 Posted August 6, 2023 Hello , first of all thank you for this release , I just wanted to ask if this source is based on your project world conquer which means the bugs found are fixed in comet too or that is not included ? Quote
Konichu Posted August 7, 2023 Author Posted August 7, 2023 It has some stuff based on Demons Source + other sources references + reversing bins and client. It is similar with WCOv2 in some parts but it's ofc not the same.No deadlocks has been identified until now, so it is expected to don't have the same bugs. But it has new bugs xD (nothing that would crash the server but it has some bugs and missing features that are being fixed and implemented). Quote
List Posted August 9, 2023 Posted August 9, 2023 First, thank you for your good work, but I have some suggestions, with artificial intelligence, why is there no cross server system, transfer servers, and why is there no build, complete with script Quote
Rezlind Posted August 9, 2023 Posted August 9, 2023 First, thank you for your good work, but I have some suggestions, with artificial intelligence, why is there no cross server system, transfer servers, and why is there no build, complete with scriptIt sounds like it would be easy enough for you to add that yourself? What is stopping you? Quote
CptSky Posted August 9, 2023 Posted August 9, 2023 First, thank you for your good work, but I have some suggestions, with artificial intelligence, why is there no cross server system, transfer servers, and why is there no build, complete with scriptBecause sadly artificial intelligence has yet to be able to create wizards and unicorns Quote
List Posted August 9, 2023 Posted August 9, 2023 First, thank you for your good work, but I have some suggestions, with artificial intelligence, why is there no cross server system, transfer servers, and why is there no build, complete with scriptIt sounds like it would be easy enough for you to add that yourself? What is stopping you?I have the original crossserver bin, I don't need it. It was just a suggestion, then he uses the script I leaked Quote
Konichu Posted August 9, 2023 Author Posted August 9, 2023 Added Canyon Authentication Service and Realm Service Quote
Konichu Posted August 25, 2023 Author Posted August 25, 2023 The automatic backup too has beem removed from the list. It will be kept in the repository but it has been integrated with the GM Server which will soon also auto update the server.Main branch is now being fed and will follow my server version.From now on my pipeline will be packing game releases to THIS LINK. It will also be used by the server auto updater.Those files are built to run on win-x64. Quote
darkfox Posted September 9, 2023 Posted September 9, 2023 The automatic backup too has beem removed from the list. It will be kept in the repository but it has been integrated with the GM Server which will soon also auto update the server.Main branch is now being fed and will follow my server version.From now on my pipeline will be packing game releases to THIS LINK. It will also be used by the server auto updater.Those files are built to run on win-x64.Could you give some small guide to get it started? It would be very useful, thanks for your contributions Quote
Konichu Posted October 9, 2023 Author Posted October 9, 2023 For those interested in using Keycloak as identity provider (in case you want to use Angular or some other kind of SPA without the need for implementing your own OAUTH2 and stuff) I added a repository which I am using to build a user federation provider.Canyon Keycloak User Federation ProviderYou'll need Java 17 and you can compile it withmvn clean installAfter compiling take ONLY the following JAR to /keycloak_folder/providers:And configure it in your realm with your database credentialsAnd you'll be able to generate access tokens from Keycloak with the users information from Canyon account DBIt still a work in progress and more functions will be added Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.