Jump to content

Janick

Member
  • Posts

    8
  • Joined

  • Last visited

Reputation

0 Neutral
  1. Yes, that's what I would expect. It seems the owner screwed up the rates so it was lower and I did eventually get a socket after another 500 (at which point, the rate would've been around 1.4-1.5%) . I'm now at about 800 with no luck, but somebody got one with < 100 the other day. But the reality is that without access to the code, it's unlikely I'll spot anything.
  2. Thanks, I will suggest that. I understand it's not guaranteed, it's just the math suggests that I must be really unlucky, or something's gone wrong somewhere. It's more for my own sanity more than anything!
  3. Hi all, I currently play on a server where the rate for achieving a socket via met spam at Artisan Wind is set at a base rate of 0.1% + (Number of Met Spammed)/3000. With lucky time, the base rate increases to 0.3%. However, the number of sockets being created seems to be very low throughout the server. I've personally spammed around 3,000 and a couple with around 5,000 before they got one. It may be down to bad luck, but this feels a bit off. (For those with maths background, assuming a binomial distribution with the probability of success at 0.1%, the probability of achieving at least one socket in 3000 mets is 95%. Given that the rate is supposed to increase the more mets you spam, it follows that over 3,000 mets, the probability of success must be even higher.) I don't have access to the code but from my interaction with the developer, the code that does the socketing works something like this: if ((Role.Core.PercentSuccess(client.Player.BlessTime > 0 ? (GLOBAL.LUCKY_TIME_SOCKET_RATE + spamRate) : (Global.SOCKET_RATE+ spamRate))) { // Add socket to equipment } public static bool PercentSuccess(double _chance) { return Program.GetRandom.NextDouble() * 100 < _chance; } if (clock > Program.ResetRandom) { Program.GetRandom = new FastRandom(Convert.ToInt32(randomDate.Ticks.ToString().Remove(randomDate.Ticks.ToString().Length / 2)); Program.ResetRandom = Time32.Now.AddMinutes(30); } public FastRandom(int seed) { SyncRoot = new object(); Reinitialize(seed); } public void Reinitialize(int seed) { lock (SyncRoot) { x = (uint)seed; y = Y; z = Z; w = W; } } public double NextDouble() { lock (SyncRoot) { uint t = (x ^ (x << 11)); x = y; y = z; z = w; return (REAL_UNIT_INT * (int)(0x7FFFFFFF & (w = (w ^ (w >> 19)) ^ (t ^ (t >> 8))))); } } The implementation seems similar to the Redux Source (see https://github.com/luckymouse0/Redux-Conquer-Online-Server/blob/master/Redux/Network/GameServer.cs and https://github.com/luckymouse0/Redux-Conquer-Online-Server/blob/master/Redux/Common.cs), except Redux uses a customised ThreadSafeRandom. But without access to the code and not having much knowledge about multithreading/CO servers, I'm a bit stuck with further questions to ask/consider. I've done some testing by creating my own FastRandom class and running a for-loop to spam mets. I ran 100 trials spamming 3000 mets with a base rate of 0.1% each time and I've always created a socket. With lucky time boosting the base rate to 0.3%, I would be reasonably confident to get a socket. So the area of suspicion for me is how the FastRandom was implemented/works. I'm wondering whether it's possible for the NextDouble to return the same number when called in succession?
  4. Drivers are all up to date and Windows is at latest update. Changing the cursors seems to have improved things, FPS still stuck at about 25 but it does feel less clunky. I think I'll just work with this for now, thanks for all the help!
  5. I've uploaded a video here: https://streamable.com/6ylto4 As you can see, it took a few goes logging in. The lag isn't obvious in the video, but it doesn't feel very smooth. Tbf it kinda felt like the original CO experience... I'm just not sure whether it's a hardware thing or a software issue. Well, your ping is 34ms, so it's not lagging so much as it's just a low frame rate. That failed first login is strange though, I'll have to look into that some more when I have time. I wonder if other patches above 5065 have that issue with Comet as well. Ah I see, FPS seems to be limited to about 25. I can't really remember how high it can get, is there anything I can do to improve that?
  6. Thanks a lot, that seems to have done the trick! Disclaimer: I also dont use Git very much! I've switched to 5065 now as well. Logging in seems to be a bit of a struggle though, took me a few goes to get in and it's a little laggy. I'm running a laptop with 16GB RAM so specs shouldn't be an issue... any recommendations as to where I should try and start? Took you a few goes and it's laggy? Can you give more details like what exactly you're seeing to quantify that? It seems to be fine on my computer. I've uploaded a video here: https://streamable.com/6ylto4 As you can see, it took a few goes logging in. The lag isn't obvious in the video, but it doesn't feel very smooth. Tbf it kinda felt like the original CO experience... I'm just not sure whether it's a hardware thing or a software issue.
  7. Thanks a lot, that seems to have done the trick! Disclaimer: I also dont use Git very much! I've switched to 5065 now as well. Logging in seems to be a bit of a struggle though, took me a few goes to get in and it's a little laggy. I'm running a laptop with 16GB RAM so specs shouldn't be an issue... any recommendations as to where I should try and start?
  8. Disclaimer: I don't have any experience working with C# and I've never hooked up a database to a server before so please bear with me! I'm trying to run Comet 5017 locally with 5017 client and I'm having trouble getting past the login screen. The game server has connected with the account server but the account server is stuck on Missing packet 1051, length 52. What I've done: Setup MariaDB with default settings (port 3306, hostname localhost Built Comet, changing the database password in both Comet.Account.config and Comet.Game.config only Ran the database script Modified realm table, setting the Name to Eternity and the GameIPAddress to my IPV4 address, left the RpCIPAddress as it is Modified the LoaderSet.ini file in the client, setting the IPAddress to my IPV4 address Tried logging onto Eternity with the account user and password that I set up in the account table I presume the problem is that the account server isn't connecting to my database so it can't authenticate, but I'm unsure as to how to resolve this. I haven't forwarded any ports - I'm assuming this isn't necessary if I'm simply trying to run the servers locally?
×
×
  • Create New...