Jump to content

Patman128

Members
  • Posts

    1090
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by Patman128

  1. Is that a joke? The bandwidth per player is a few kilobits/sec MAXIMUM; usually they will probably use far less. A 150Mbit/sec connection is easily enough for tens of thousands of players. Also unload timers only affects CPU/memory usage. Has no effect on bandwidth.
  2. Yeah that's about it. C++ has manual memory management. You have to delete objects you create with new or the memory will never be released and accumulate. If the object is never properly added to be removed later it has to be released right away.
  3. You need to add the entries to instance_template.
  4. It uses an ACE reactor to handle the connections. I would point you and anyone else looking into it toward WorldSocket.cpp.
  5. Again, there isn't a choice to be made. WoW only supports TCP. As well the overhead of TCP is next to nothing on modern servers, so unless bandwidth is a giant issue (for WoW it isn't) it's perfectly fine. Your definitions are mostly accurate. The details of reactors and proactors I'm not too sure of myself, everything I've read on proactors has been CS research paper type stuff, so I lose interest quickly. Nothing the client sends can be trusted to be accurate at all. All data is assumed to be wrong and must be checked for accuracy (the first rule of client-server security). For WoW, client-side anti-cheat exists, but it is not perfect and it cannot be restored for 1.12 (which is what I work with). Unfortunately the original authors of mangos did not check every packet, and there are still crashes and exploits which exist because of that. I would not be surprised if Quake 3 does a lot of clever things to improve performance. A delta state is just something that has changed. I haven't dug that far into WoW's protocol to know if it does (I think object updates only contain fields which have changed). AFAIK there's no lag compensation, nor is there really a need to be. The client will continue to work happily even if it is completely disconnected from the server; you can still walk around and even cast spells (though they never complete and obviously the server's world isn't affected). It relies on the TCP connection to make sure everything is reliable. A small amount of lag when other people move or when you cast a spell isn't going to have a dramatic impact on the game.
  6. You need more generic tutorials, not less. You don't seem to understand what UDP, TCP, proactors and reactors are. You should make sure you very clearly understand all the underlying concepts before trying to code anything. Mangos has a main thread (the World thread) along with support for map threads that can handle certain packets, one or more networking threads, and a SOAP thread to handle SOAP requests. A more optimal design (and probably what *lizzard uses) is to daemonize the maps into separate processes, along with any tasks that are not map specific into a separate process, and have a reverse proxy for the realm that users connect to which forwards packets to the various processes. Obviously it's far more involved, but it solves a variety of problems (load balancing, cluster support, cross-realm battlegrounds and dungeons, can support most players even if one node fails, etc.). WoW only supports TCP, so mangos does as well. UDP is good for broadcasting packets to many clients at the same time, as well as high speed connections (sending lots of data) but for an MMO reliability is far more important, and the bandwidth of each connection never exceeds a few kilobytes per second, at most. If you want to talk in more depth, send me a PM and I'll give you my IM address.
  7. If you start filtering based on blacklists (i.e. http://www.stopforumspam.com/) you'll catch a lot more of them. I can almost guarantee most of the bots that hit here are on there.
  8. We have full documentation of the 3.3.5 DBC files. 1.12.1 you can find most of the data for in mangos. If you check mangos when it supported 1.8 you might be able to find what the formats are. You can log packets client->server certainly, but you can't do it the other way. There are no official 1.8 servers. If a SMSG packet is broken, you would just have to guess at it or hope it was implemented in 1.8 mangos.
  9. scriptvc100.sln should be in the root of the SD0 folder. I have no idea why you have trunk folders (you use SVN for checkout?) but they shouldn't be there.
  10. 1. DBC structures may have changed. If that's the case you'll have to figure out what is different and how it should be represented. 2. Packet structure may have changed. (see above sentence). This is harder because you may not even know until something breaks. Your sources for fixing it are trial and error, or finding 1.8 (or earlier) packet logs, and I have no idea who would have them. 3. Some post-1.8 content would probably have to be removed, because of missing data. Mangos would probably refuse to load it, so removing it would only be to get rid of error messages. Whether map structure has changed is up in the air. I doubt it has, but if it has, you'd have to fix it or mangos won't be able to use the maps.
  11. Just thought this was worth a response. Well that's certainly not true. All data that could possibly be needed to put together a SWTOR server is floating around; it's being served right from BW's server's! It's just a matter of gathering it and studying it. But AFAIK there's no one doing that ATM.
  12. Unlikely to you perhaps, at least now. Don't think that you never will though; I know if it had occurred to me before I started with mangos years ago I would have been terrified as well. Even doing WoW probably would have terrified me. But I firmly believe that anyone can learn anything given enough time and enough practice, and that doing this isn't O(n^3) (which is to say, too much time for anything large to be practical). Certainly you should look deeper into mangos. I'm going to be doing (with near certainty) a full scale documentation of 1.12 WoW that will be put together with community help. If you'd like, I can let you know when things start moving, publicly.
  13. From what I know about WoW and mangos, and what I know from Star Wars, I don't think it could ever happen, at least with any semblance to the game as it is now. Just to get robust features like vmaps and mmaps took years because no one had the expertise or the knowledge to develop them. To do what the Hero Engine and Bioware developers have done would take a ton of effort, and if it was going to happen, I couldn't see it happening in a mangos-style project. It would have to be very organized, and there would have to be very experienced developers involved in it. But if you really want to do it, here's the steps that would have to happen (ideally): 1. Reverse engineering of the game's packets and data files. 2. Mass gathering of game data. (Whether any is cached and the extent of that, I have no idea; the extent of this dictates the ease of gathering and the reliability of the data) 3. Discussion and exploration of game behaviours. (This would be "How does feature X work?" "What is the formula to calculate Y?" "How does data Z affect the game's state?".) 4. Planning and implementation of a server that fulfills all behaviours of 3 and serves all data from 1 and 2. (Please note that development of the actual software is the last step in the process.) My final advice to you: before you even write a single line of code, figure out/document/gather 95% of the game (at least). The mangos project is the result of "code now; think later" philosophy, and it's still lacking in tons of data and features. I'm trying to work on 1.12 stuff that should have been documented and debated years ago with only pictures as evidence (if I'm lucky) because the real servers don't exist any more. Please don't make the same mistake twice. ("You" in this post is anyone who wants to write a SWTOR-compatible server.) Also thought that I would add that I think that, should it succeed, it would be pretty amazing, but again it has to be done properly from the beginning or you're going to waste a ton of time and effort. Moving towards the goal of having a working TOR server is fine; worrying about attracting developers at the start is doing it wrong. What you need is people who want to research, discover, and explore; code writing should not part of the equation at this time.
  14. Or you can just start hacking away. If you have good knowledge of JS and Lua you probably know enough C syntax already to have a good grasp on it. You can just do what I did: play with mangos, and when you don't understand something, look it up. And you should never be afraid to learn more than you need.
  15. That's actually vmaps. If they are working and mobs are still going through walls, then there's probably a problem with them.
  16. It's generally more convenient to search through DBC tables using SQL queries than messing with the various DBC viewers. SQL databases are designed to do relational (inter-table) queries very easy. For example, if I want to find every spell which is in CreatureSpell.DBC and has a certain bit set in FamilyFlags, I'm not aware of a DBC viewer which can do this, while it would be possible in SQL.
  17. That sounds like some sort of flag that disables those animations. Unfortunately without data I can't say how it's done.
  18. And where is IsRaidOrHeroicDungeon() code exactly, again?! Your IDE doesn't have a search function? You think we just memorized the exact location of every function?
  19. I don't believe there is any handling in the core, it's someone inferred based on combat hit results. I haven't done any real research into it though. I don't think you can change animations.
  20. 400 branch: since it came out basically. Mangos master: never. The client can't be supported unmodded, so it isn't going to happen. Mangos is against client mods.
  21. This is almost completely incorrect. Next to none of the data from the database is from the DBCs. It is taken from WoW client cache files and packet logs. This is why it is so inaccurate generally. The abundance of mining/herbalism nodes may be because you don't have pools working. They limit the number of nodes that are spawned in a group, so instead of spawning all of them, it will pick 5 at random, for example. Your spells problems I really don't know about. You would have to look into it deeper to see what is going on.
  22. player->GetSession()->SendListInventory(4211160903); Why are you using the number 4211160903 here? It should be the creature's GUID.
  23. That site has been largely deserted. It was even down for a long time but seems to be back on now. If you want help with mangos zero you're probably better just asking here. You can find the repos at github: https://github.com/mangos-zero/ Maybe you are using the wrong DB?
  24. I think you want bounding_radius. http://udbwiki.no-ip.org/index.php/Creature_model_info
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use