Re: [Official] MoograMS v83 Commands
Quote:
Originally Posted by
BloodAngel13
My turn to say something meaningful and deep!
I've been here forever (6 years?) so I've seen how the section changed. I'm admittedly a nobody. I've never really contributed anything useful. However, I've very rarely turned down another person's request for help. If the person showed signs of actually wanting to learn, I've offered the help.
On that note, I fully support open source development. I just think it's so cutthroat to do so. Almost nobody worthwhile would be willing to develop openly and even if a team were formed, I've seen comments of people saying "Why would you release this?" or "The community doesn't deserve this." Even if that isn't the intended effect, this community actively discourages open source development. It leads to the people capable of doing anything to go private. I can't say I blame them, it's just honestly unfortunate that it has to be this way.
I've tried to form a team of interested developers to work on updating to GMS but as soon as I throw around 'open source" things fall apart real fast. Again, I don't blame anybody for their decisions, it is what it is.
To wrap this up, this section may be terrible compared to the older days but it still holds a place in my heart. It is the absolute reason I am studying computer science in college right now. No matter how many breaks I take, I always come back.
I love you all. <3
Alan. I missed you <3
Re: [Official] MoograMS v83 Commands
Quote:
Originally Posted by
Fraysa
I honestly don't see what's wrong with RMI. I don't know much Java, but ever since @
kevintjuh93 got up and said "RMI sucks" one day, everyone at RaGEZONE went nuts and started hating RMI. It seems like a nice way to communicate between interoperability servers (I haven't read much, just from Google a bit). Would you mind showing evidence to support your argument?
Didn't see this until now but I don't see why it would matter if I proved MoongraMS used RMI...
RMI makes things a lot easier to code in. It handles a lot of stuff for you. In addition to that, it is good for multiple hosting since objects can communicate in a network. This is the main reason why RMI is used and why it was designed. It's just something that makes your life easier and is actually not bad when used correctly (in the case of odinms, it is, but no one does multihosting so there's no difference). There's a number of pros and cons to using RMI over Sockets but I won't get into that here. People on here can't be convinced anyway about things here. For example, people are still using the system here when it was confirmed to be suboptimal to this here. Another example is everyone is somehow convinced that Java is outdated and useless, and that is not true at all. There's a good amount of other misconceptions that exist here.
About the release, I don't care about it. I have no issues with the source being released. The race system posted here is outdated and not as cool but it does work. I think the commands are well documented in the GM command section. Shop permits might be broken. I know I fixed them up in v88 and in v111 but I'm not sure they work in v83. Quests were never coded until v111+. I've also never coded any quests so I can't really help here. For the GM command stuff, all of that is intended. They are restricted by the client to drop items and set up shops. It can be changed using the admin byte(s) when the user logs in.
Re: [Official] MoograMS v83 Commands
Quote:
Originally Posted by
SuperLol
Didn't see this until now but I don't see why it would matter if I proved MoongraMS used RMI...
RMI makes things a lot easier to code in. It handles a lot of stuff for you. In addition to that, it is good for multiple hosting since objects can communicate in a network. This is the main reason why RMI is used and why it was designed. It's just something that makes your life easier and is actually not bad when used correctly (in the case of odinms, it is, but no one does multihosting so there's no difference). There's a number of pros and cons to using RMI over Sockets but I won't get into that here. People on here can't be convinced anyway about things here. For example, people are still using the system
here when it was confirmed to be suboptimal to [ulr=http://forum.ragezone.com/f425/celino-enum-iteration-optimization-907956/#post7450736]this here[/url]. Another example is everyone is somehow convinced that Java is outdated and useless, and that is not true at all. There's a good amount of other misconceptions that exist here.
About the release, I don't care about it. I have no issues with the source being released. The race system posted here is outdated and not as cool but it does work. I think the commands are well documented in the GM command section. Shop permits might be broken. I know I fixed them up in v88 and in v111 but I'm not sure they work in v83. Quests were never coded until v111+. I've also never coded any quests so I can't really help here. For the GM command stuff, all of that is intended. They are restricted by the client to drop items and set up shops. It can be changed using the admin byte(s) when the user logs in.
@SuperLol If you have no issues with the source being released, then I may proceed to continue learning/using this source. As I promised @MsDerp, I will not be using the Scripts folder with all the custom content you coded (probably just going to take MoopleDevs). There's still quite a few things to be worked out, any records of beta testing/what does or doesn't work is gone, so I'm pretty much beta testing the source myself at the moment.
I had to add the rings table into the BubblesDev.sql because it did not exist under marriagerings. I have two SQL questions. First, I noticed drop_data isn't in the database. Where are the monster drops dictated? I was hoping to implement MoopleDevs monster drops, because I notice KineticStory is revolved around Maple Leaves for certain NPCs and Shops, and some bosses (such as Pink Bean) drop the leaves. Second, strings.sql is one of the sqls with the KineticStory source:
PHP Code:
DROP TABLE IF EXISTS `strings`;
CREATE TABLE `strings` (
`object_type` enum('item','skill','map','mob','npc','quest') NOT NULL,
`objectid` int(11) NOT NULL,
`label` varchar(255) NOT NULL,
PRIMARY KEY (`object_type`,`objectid`),
KEY `name` (`label`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Contains the string names for most mobs, items, etc.';
INSERT INTO `strings` (object_type, objectid, label) VALUES ('item', 2000000, "Red Potion"),
('item', 2000001, "Orange Potion"),
When executing the script, an error appears for line 10, which is the start of INSERT INTO, and the error states an "incorrect string value". Is this related to the "Red Potion" not being UTF8? If so, how can I change the encoding, or set the `label` column to be UTF8? Lastly, what is the purpose of the SQL table? I understand the strings of each item are here, but I don't think changing "Red Potion" to "Noob Potion" would change the string in game. It's an interesting file and I've never seen it in another source.
Re: [Official] MoograMS v83 Commands
Quote:
Originally Posted by
revanoner
@
SuperLol If you have no issues with the source being released, then I may proceed to continue learning/using this source. As I promised @
MsDerp, I will not be using the Scripts folder with all the custom content you coded (probably just going to take MoopleDevs). There's still quite a few things to be worked out, any records of beta testing/what does or doesn't work is gone, so I'm pretty much beta testing the source myself at the moment.
I had to add the rings table into the BubblesDev.sql because it did not exist under marriagerings. I have two SQL questions. First, I noticed drop_data isn't in the database. Where are the monster drops dictated? I was hoping to implement MoopleDevs monster drops, because I notice KineticStory is revolved around Maple Leaves for certain NPCs and Shops, and some bosses (such as Pink Bean) drop the leaves. Second, strings.sql is one of the sqls with the KineticStory source:
PHP Code:
DROP TABLE IF EXISTS `strings`;
CREATE TABLE `strings` (
`object_type` enum('item','skill','map','mob','npc','quest') NOT NULL,
`objectid` int(11) NOT NULL,
`label` varchar(255) NOT NULL,
PRIMARY KEY (`object_type`,`objectid`),
KEY `name` (`label`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Contains the string names for most mobs, items, etc.';
INSERT INTO `strings` (object_type, objectid, label) VALUES ('item', 2000000, "Red Potion"),
('item', 2000001, "Orange Potion"),
When executing the script, an error appears for line 10, which is the start of
INSERT INTO, and the error states an "incorrect string value". Is this related to the "Red Potion" not being UTF8? If so, how can I change the encoding, or set the `label` column to be UTF8? Lastly, what is the purpose of the SQL table? I understand the strings of each item are here, but I don't think changing "Red Potion" to "Noob Potion" would change the string in game. It's an interesting file and I've never seen it in another source.
The strings table is actually a part of MCDB. It is a collection of objects along with their Maple Id and Label, which is mainly used for the 'search' or 'lookup' GM command, so GMs can search for an id of an object using it's name.
Re: [Official] MoograMS v83 Commands
Quote:
Originally Posted by
Fraysa
The strings table is actually a part of MCDB. It is a collection of objects along with their Maple Id and Label, which is mainly used for the 'search' or 'lookup' GM command, so GMs can search for an id of an object using it's name.
I thought that was possible at first, but like MoopleDev, the search command uses the wz image.
PHP Code:
if (sub[1].equalsIgnoreCase("npc")) {
data = dataProvider.getData("Npc.img");
Re: [Official] MoograMS v83 Commands
Quote:
Originally Posted by
revanoner
I thought that was possible at first, but like MoopleDev, the search command uses the wz image.
PHP Code:
if (sub[1].equalsIgnoreCase("npc")) {
data = dataProvider.getData("Npc.img");
You can always search around the source to see where a query that involves the strings table is used.
Re: [Official] MoograMS v83 Commands
Quote:
Originally Posted by
Fraysa
You can always search around the source to see where a query that involves the strings table is used.
I have been searching for a while now, but I think I found it.
\branches\MapleDatabaseCreator\MapleDatabaseCreator\Parsers\StringWzParser.cs
PHP Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using MapleLib.WzLib;
using MapleLib.WzLib.WzProperties;
namespace MapleDatabaseCreator.Parsers
{
class StringWzParser
{
class ObjectType
{
public static string Item = "'item'",
Skill = "'skill'",
Map = "'map'",
Mob = "'mob'",
Npc = "'npc'",
Quest = "'quest'";
}
public static void Run(WzFile stringFile)
{
stringFile.ParseWzFile();
DateTime startTime = DateTime.Now;
Console.WriteLine("-------------------- PARSING String.WZ NOW --------------------");
DateTime start = DateTime.Now;
StringBuilder queryBuilder = new StringBuilder("DROP TABLE IF EXISTS `strings`;\nCREATE TABLE `strings` (\n" +
"`object_type` enum('item','skill','map','mob','npc','quest') NOT NULL, \n" +
"`objectid` int(11) NOT NULL,\n" +
"`label` varchar(255) NOT NULL,\n" +
"PRIMARY KEY (`object_type`,`objectid`),\n" +
"KEY `name` (`label`)\n" +
") ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Contains the string names for most mobs, items, etc.';\n\n" +
"INSERT INTO `strings` (object_type, objectid, label) VALUES ", 1500);
Now back to the MYSQL error...is there a specific version of MYSQL where encoding changed? MYSQL is my least experienced area, I'll admit that now.
Re: [Official] MoograMS v83 Commands
Fraysa, thank you for including me in that, but I hardly feel I've done anything to really help the community. My release of cryptic aside - I had nothing to do with the source, obviously. I don't feel my abilities are in the same tier as yours, moongras, zygons, and most other 'known' developers.
UTF 8 as I know it is more of a universal format.
Re: [Official] MoograMS v83 Commands
If you are doing it manually, then you are doing it wrong. I believe I generated a ton of sql scripts from db a long time ago. Also you should try single quote instead of double quote.
Re: [Official] MoograMS v83 Commands
No real reason this shouldn't get released. After 5 pages, some small drama, and people contributing to helping the OP. People will either perceive the thread as one of those showoff threads, or just feel let down. No concern of mine if it's released, but I think it might add some spice to the new people joining the v83 dev scene.
Contrary to what some might believe, I do care if the MapleStory Dev Community survives on this forum.
Re: [Official] MoograMS v83 Commands
Quote:
Originally Posted by
BloodAngel13
On that note, I fully support open source development. I just think it's so cutthroat to do so. Almost nobody worthwhile would be willing to develop openly and even if a team were formed, I've seen comments of people saying "Why would you release this?" or "The community doesn't deserve this." Even if that isn't the intended effect, this community actively discourages open source development. It leads to the people capable of doing anything to go private. I can't say I blame them, it's just honestly unfortunate that it has to be this way.
I've tried to form a team of interested developers to work on updating to GMS but as soon as I throw around 'open source" things fall apart real fast. Again, I don't blame anybody for their decisions, it is what it is.
I very recently expressed some interest in creating a new open source MapleStory base, but after consulting some pro guy, we realized that there just aren't enough people who would contribute to it to actually drive it forward to a meaningful stage. It's unfortunate, but this section is dying and the people who can contribute are either inactive or long gone. Even if there were people, though, I don't know if it would be worth it to create a new source anymore. It would be a great learning experience for all people involved, but it would also be a huge time commitment and I'm not sure if people can offer that now, especially for little benefit, since the population of the section and of the game has dropped over the past few years.
If through some miraculous turn of events this thing was started, I'm not even sure how different structurally it would be from OdinMS. There are not many things I would change about the OdinMS design. A lot of people seem to have problems with OdinMS and its design but I think those are just misconceptions (probably stemming from ignorance years ago), because it's really not bad; most things are actually pretty good.
I'm not sure how interested people would be in just updating an OdinMS fork. I know I wouldn't be, because the only good revisions are probably old ones that don't have the memory leaks that v75 had or the bad design/code that celino/lithium and its offshoots have. But more importantly, updating is not fun for me. It used to be 2+ years ago, but compared to something cool like designing a source, it's just tedious, not as motivating, and not as much of a challenge.
Oh well, those are just my thoughts. It would be fun to make a community project regardless, though.
Also, to add to the RMI discussion:
RMI is good for what it does. It is not bad or pointless, and there are reasons why it is used as a backbone in some production environments and for core Java features like JMX. I also think the OdinMS developers were very smart in choosing to add RMI, but maybe people don't realize why it was there in the first place.
Think back 6+ years ago, when OdinMS was in development, about to be released. Now think about the hardware available back then. You could maybe get a virtual or dedicated server with 1-2 cores and 512mb-1gb of memory for the price of something with 2-4 cores and 4gb of memory (or even more) now. Also consider that you're developing the very first MapleStory private server, and you won't know how many players you will have. MapleStory was trending upwards in terms of population, so the number of players could have potentially been in the thousands. Adding RMI gave the developers the option to scale horizontally, which is always important, and very necessary in their situation and time. Nowadays, MapleStory servers don't need RMI because hardware has advanced and has become increasingly affordable. But their decision to add RMI and thus the possibility of horizontal scaling for an unprecendented server and a potentially huge player base was undeniably smart.
The OdinMS developers were better software engineers than almost everyone here is right now, and I feel like there are random misconceptions surrounding their design decisions that just don't make sense. They knew what they were doing and they built something cool. It was never perfect and it has kind of been tarnished over the years, but it's still a decent/pretty good base for what resources and knowledge they had at the time, despite some parts (like RMI) becoming obsolete.
With that said, it would be fun to create a new, modern base.
Edit:
Actually, I thought about it and there are a ton of things I would change about OdinMS. So disregard the whole "it would be similar to OdinMS" thing, because that was prior to some thought into it.
Re: [Official] MoograMS v83 Commands
Quote:
Originally Posted by
Shmoconut
I very recently expressed some interest in creating a new open source MapleStory base, but after consulting some pro guy, we realized that there just aren't enough people who would contribute to it to actually drive it forward to a meaningful stage. It's unfortunate, but this section is dying and the people who can contribute are either inactive or long gone. Even if there were people, though, I don't know if it would be worth it to create a new source anymore. It would be a great learning experience for all people involved, but it would also be a huge time commitment and I'm not sure if people can offer that now, especially for little benefit, since the population of the section and of the game has dropped over the past few years.
If through some miraculous turn of events this thing was started, I'm not even sure how different structurally it would be from OdinMS. There are not many things I would change about the OdinMS design. A lot of people seem to have problems with OdinMS and its design but I think those are just misconceptions (probably stemming from ignorance years ago), because it's really not bad; most things are actually pretty good.
I'm not sure how interested people would be in just updating an OdinMS fork. I know I wouldn't be, because the only good revisions are probably old ones that don't have the memory leaks that v75 had or the bad design/code that celino/lithium and its offshoots have. But more importantly, updating is not fun for me. It used to be 2+ years ago, but compared to something cool like designing a source, it's just tedious, not as motivating, and not as much of a challenge.
Oh well, those are just my thoughts. It would be fun to make a community project regardless, though.
Also, to add to the RMI discussion:
RMI is good for what it does. It is not bad or pointless, and there are reasons why it is used as a backbone in some production environments and for core Java features like JMX. I also think the OdinMS developers were very smart in choosing to add RMI, but maybe people don't realize why it was there in the first place.
Think back 6+ years ago, when OdinMS was in development, about to be released. Now think about the hardware available back then. You could maybe get a virtual or dedicated server with 1-2 cores and 512mb-1gb of memory for the price of something with 2-4 cores and 4gb of memory (or even more) now. Also consider that you're developing the very first MapleStory private server, and you won't know how many players you will have. MapleStory was trending upwards in terms of population, so the number of players could have potentially been in the thousands. Adding RMI gave the developers the option to scale horizontally, which is always important, and very necessary in their situation and time. Nowadays, MapleStory servers don't need RMI because hardware has advanced and has become increasingly affordable. But their decision to add RMI and thus the possibility of horizontal scaling for an unprecendented server and a potentially huge player base was undeniably smart.
The OdinMS developers were better software engineers than almost everyone here is right now, and I feel like there are random misconceptions surrounding their design decisions that just don't make sense. They knew what they were doing and they built something cool. It was never perfect and it has kind of been tarnished over the years, but it's still a decent/pretty good base for what resources and knowledge they had at the time, despite some parts (like RMI) becoming obsolete.
With that said, it would be fun to create a new, modern base.
Edit:
Actually, I thought about it and there are a ton of things I would change about OdinMS. So disregard the whole "it would be similar to OdinMS" thing, because that was prior to some thought into it.
Well, this thread is nearing it's close. After 5 pages, some small drama as you mentioned, I've made a few educated conclusions.
It would be nice to see an OdinsMS fork revived (because this fork existed already) for a v83 server, yet there are few servers that even use v83:
MapleSwitch
MapleDestiny
AzaleaMS
Dstroyer
SkyStory
KyraMS
MapleDropout
AscensionNetwork
PartyMS
MapleInspire
ZenosMS
GoRawrStory
YoungMS
...(there's another 10 or more according to gtop100)
I would love to see all these servers come together and develop. Eventually, 50% us (you) will be gone.
Between all those servers on a WORLD WIDE basis, there's most likely under 1000 players who are active. So, yes, it is legitimate to say MapleStory is dying off, especially the dedicated v83 server scene.
MapleRoyals, a v62 HurricaneMS based source, is probably the leading private server in the world, with ExtaliaMS (v1.49) following behind (do not take my ranking or priority as implied). Those 2 servers alone probably equal more than 50% of the ALL the v83 servers combined. My guess is internationally, less than 2000 (maybe 3000) play private servers anymore.
v62, a "nostalgic" server, and v1.49, a newer server, are nearly double the version in comparison.
I believe (based on poorly educated guesses) that v83 is not as popular due to the fact the standard source is MoopleDev. Though I don't have the expertise to discuss or critic the removal of RMI from this source, the latest revision (120) is not very stable (when it comes to running a large scale server). To my knowledge, the only other public v83 source(s) are the ones contributed by Valhalla (@zygon). Repacks or forks, such as TiredStory, ZenthosDev, MapleBlade, etc, do not count.
So...
What to do? Moogra (@SuperLOL) has already given his opinion on the publicity of his source. Though KineticStory (@MsDerp) is verified as the original server, shootsource code is the base, and I believe Moogra's opinion on it's public release holds some weight. (scripts folder will NOT be included)
This source will be released to the public soon (before 2015). Moogra has assisted by providing some files from a newer revision, and this older revision is executable, with no errors. Before it's release, the source will be tested. What does and does not work will be documented accordingly. In all the many years since this revision, many things have been fixed or discovered. As much as possible will be fixed and included in the public release.
If anyone is interested in contributing/learning from this source, PM me.
Re: [Official] MoograMS v83 Commands
Merging servers with people that don't know each other is never going to work. This has been attempted by some of the larger servers in the past. I've tried it too with another large server and even though I was friends with the developers and owners of other servers, the other staff was not, leading to a lot of distrust. For developing, this won't work either because of the level of skill levels. Some people will feel like they're doing all the work, or they will be fixing code that was written badly the entire time. Sometimes having too many people work on a project will have diminishing returns.
Valhalla wasn't made by Zygon btw. I also doubt this source release will be better than MoopleDev at its current state.
edit:
may not have been clear but I'm on another account. don't remember passwords rofl
Re: [Official] MoograMS v83 Commands
Quote:
Originally Posted by
ALotOfPosts
Merging servers with people that don't know each other is never going to work. This has been attempted by some of the larger servers in the past. I've tried it too with another large server and even though I was friends with the developers and owners of other servers, the other staff was not, leading to a lot of distrust. For developing, this won't work either because of the level of skill levels. Some people will feel like they're doing all the work, or they will be fixing code that was written badly the entire time. Sometimes having too many people work on a project will have diminishing returns.
Valhalla wasn't made by Zygon btw. I also doubt this source release will be better than MoopleDev at its current state.
edit:
may not have been clear but I'm on another account. don't remember passwords rofl
He never claimed that I "made" it. @maxcloud and I worked on it a decently long time ago. Maxcloud upgraded a clean version from v62 to v83 (and then I think he probably had kept upgrading that to the most current version over and over for a small period of time until the end of v11x (maybe further, I can't really say since I've lost touch with him a long time ago)) and I did some architecture changes in the clean v83. On top of that, Valhalla Albion v83 was an extension: I implemented the server communications with TCP in place of the old RMI setup.
Re: [Official] MoograMS v83 Commands
Quote:
Originally Posted by
ALotOfPosts
Merging servers with people that don't know each other is never going to work. This has been attempted by some of the larger servers in the past. I've tried it too with another large server and even though I was friends with the developers and owners of other servers, the other staff was not, leading to a lot of distrust. For developing, this won't work either because of the level of skill levels. Some people will feel like they're doing all the work, or they will be fixing code that was written badly the entire time. Sometimes having too many people work on a project will have diminishing returns.
Valhalla wasn't made by Zygon btw. I also doubt this source release will be better than MoopleDev at its current state.
edit:
may not have been clear but I'm on another account. don't remember passwords rofl
I thought this thread died, /f427 has been a ghost town for almost a week!
I'm actually doing very well, despite your opinions. On a large scale, yes, too many people involved can ruin things. However, I'm only working with 1 other server, and Kevin of MoopleDev himself. That doesn't mean either are actively developing for this fork, but they are somewhat active in discussion.
If anyone cares to know my progress:
- All boats added (and working!)
- Fixed all reactors (touch, untouch)
- Imported v145 content (mounts, chairs, etc)
- MTS is in progress
- Netts Pyramid is in progress
- PQs being imported from HurricaneMS
- MapleRace overhaul (I might just release this by itself)
- Duey Package System
- Imported CokeTown (for a Christmas Event we are doing)
- Improved Hired Merchant (Fredrick was being greedy)
- Dozens of functions added to NPCConvo (teachSkill for example so people can do the Monster Rider Quest)
To Do:
- Disable [Maple Tip] (no, it's not automsg.js)
- Power Crash will not cancel Zakum Buffs (who doesn't mind a 2 hour battle like the old days! actually I do.)
- Add certain boss drops back (Horntail, Pink Bean, Pap)
- Finish Temple Of Time Quests (and portal entry)
- Finish Updating OpCodes and Packet Creator
- Black Screen with new character (very rare, just relog)
So far as a low rate server, without spoon-feeding AP Resets, Skill Maxing, and other things, the "GMS-like" feel is starting to come to life, but very slowly, because there is always something else to do or "fix".
I never claimed this source was better then the current MoopleDev, in fact Moogra and June even stated the "value" of their source and it's revision. MoopleDev took off in a completely different direction, and comparing the two has very little common ground to meet on. I don't even have the knowledge to even begin stating the differences.
All in all, this project has been very educational, and I will continue to learn from it.