There isn't really an NPC server. Rather, it's a collection of map servers which each process a chunk of the game world. All of those servers connect up to a root game server via RPC, which handles database transactions, chat, and other world actions. I can't say I've decided which server I'm going to put NPC dialogs on, but I'd probably go with the map servers. Would be using Lua scripts.Quote:
as we was -I think- discussing on github about NPC scripting and NPC server , so what do you think , how it will work ?
Fine , I think if we put all simple AI related things like NPCs , Monsters in a sperated map server , and Workers like Event scheduling and other related things like torments on their own handler , It will make some sense 😀Quote:
There isn't really an NPC server. Rather, it's a collection of map servers which each process a chunk of the game world. All of those servers connect up to a root game server via RPC, which handles database transactions, chat, and other world actions. I can't say I've decided which server I'm going to put NPC dialogs on, but I'd probably go with the map servers. Would be using Lua scripts.
I understand the familiarity of TQ binaries, but I'm definitely not going for TQ's server architecture. TQ binaries perform poorly overall, and the server architecture is really bad. I'm looking to make something much more scalable and straightforward. You can imagine each map server as it's own private server for a section of the game map. Then, the game server orchestrates the map servers. It's a lot simpler. And I appreciate your enthusiasm to help, but this is really a more personal project for me. I'll be releasing an open source project soon that is more community contribution based.Quote:
Fine , I think if we put all simple AI related things like NPCs , Monsters in a sperated map server , and Workers like Event scheduling and other related things like torments on their own handler , It will make some sense
Hmmm, I get it .Quote:
I understand the familiarity of TQ binaries, but I'm definitely not going for TQ's server architecture. TQ binaries perform poorly overall, and the server architecture is really bad. I'm looking to make something much more scalable and straightforward. You can imagine each map server as it's own private server for a section of the game map. Then, the game server orchestrates the map servers. It's a lot simpler. And I appreciate your enthusiasm to help, but this is really a more personal project for me. I'll be releasing an open source project soon that is more community contribution based.
A single server. Each collection of map servers has a game server to orchestrate world actions. Like a conductor to an orchestra. In terms of maintaining code, nothing is different about the map servers in code. What's different is how they're configured / the roles I provide them with. The player connects to the map server their character is currently located on, and never will connect to the game server directly. The map servers talk to the game server only when scheduled to do so, or the weight of a change is high enough to justify an immediate save. This keeps the bandwidth between the servers low, the map servers mostly just running independently and lightweight, and gives me a lot of flexibility for future features such as seamless server patching and server balancing. It becomes more of a service.Quote:
Hmmm, I get it .So here's what I got from your explanation:
- TQ Architecture is poor , I see.
There Architecture become painful when it comes to maintain.
Every map server is a separate one, but all is connected to their main Game Server , that will make the server scaleabble.
So you mean by that is the game server is representing a group of servers , and the map server representing the actual single server ?
Finally , I found someone who understands the proper way how networks and game servers work , Thank you again for your timeQuote:
the map servers mostly just running independently and lightweight, and gives me a lot of flexibility for future features such as seamless server patching and server balancing. It becomes more of a service.
Thanks. Currently, I'm toying with a project that I'll make open source in probably the next month. I'm enjoying myself for once, so I'm taking a bit of time. It's not Chimera related, it's more of a source targeted at beginners. I'm looking forward to seeing how the community responds to it.Quote:
Still interested in you opening an open source co server, for some reason im always drawn back to Co Development
- hunterman01(old school player/developer)
Went through a career change and two moves in the past 2 months, so expect heavy delays on everything. Current focus is that side project, and once I get internet, I'll be able to work on it more easily again. Thanks for your interest.Quote:
Still interested in what you do, that's will be very helpful to all beginners like me :)