Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[v83] MapleSolaxia Server Source

Junior Spellweaver
Joined
Apr 5, 2008
Messages
152
Reaction score
65
Hello everyone,

While I don't like this community very much, I figured I may as well release the source code from the server I was a developer on. The server has since gone offline, and as I have no use for the source any more I figured someone else may get some use out of it.

Major Bug Fixes:
- Invincible monsters that you can hit, but can't damage.
- Monsters appearing when you enter a map that were previously killed.
- Quest kills completely screwing over the monster spawn and drops.
- Lots of pet related fixes to make them work right.
- Buddy fixes where you can actually add offline buddies.
- Too Many Connections database fix (Original, before it was released on here)
- Multiple concurrent modification exception fixes. (Server shutdown, events)
- Tons of NPE fixes, script fixes, etc collected from log files.
- Aran hidden skill fixes, and normal skill fixes.
- Tons of exploits patched.
- Fixed multiple errors with VIP Teleport Rocks
- Multiple quest related fixes on top of the kill issue.
- Fixed several movement types, most notably springs and Aran Combat Step.
- Maple Messenger fixed and fully working.

Major additions:
- Job advancement is GMS like for explorers, Aran (Excpet for third job since we didn't have maker. It just skips that step), and first and second job cygnus knights.
- Fairly in depth anti-hack, with several that auto ban. NOTE: The anti-hack detection for damage hacking can still throw some false positives, but won't ban for them. We were still missing some formulas for certain classes.
- Added transportation between continents that works 99% of the time. We were having an issue with the ships vary rarely not letting someone off.
- Several PQs are also included. Including working HPQ, KPQ, LPQ, GPQ, and a custom LMPQ.
- Extended the default moople event system to be a more complete solution.
- Custom made expiditions, and scripts for the bosses. I believe there was a small issue with logging the amount of time it took to complete.
- Completely custom gachapon system added into the source and only uses two scripts.
- The quest "Learning the Culture of Ariant" and quest system changes to support the quest info (In general, more quest use this) were added.
- Full Temple of Time quest line and portals were added.
- Auto HP and MP potions for pets are saved on channel change and logout.
- All mini dungeons added and working.
- Third Person Critical effects are 90% working. They are detected and showed when the crit does more damage than the player can normally do. Which detects around 75-90% of them.
- The EXP distribution system was remade to be a lot cleaner, and to reflect the 80-20 change made in GMS around v80.

Major Known Issues:
Code:
- While exiting the cash shop, you don't get added back to the channel server correctly causing issues with killing monsters, changing maps, etc. Changing Channels will add you back correctly.
- Mystic Door needs a lot of work to be functioning correctly. Found some of the additional packets relating to joining parties, etc.
- The TimerManager will hit a task that locks the thread where it can't continue, causing anything using timers to stop working after all the threads get locked. We were in the process of debugging this when we went down.

Credits for this source go to @SharpAceX, @even, @Zygon, and I.
This source was based off of MoopleDev r120.


Download Link:

I hope you all can take something away from this source, be it learning or a feature.

Thanks,
Twdtwd
 
Last edited:
Junior Spellweaver
Joined
Jan 2, 2014
Messages
150
Reaction score
50
This source shows how broken moopledev is.

Just use this over moopledev people, it's better than moopledev will ever be unless kevin copypastes.
 
Joined
Jan 18, 2010
Messages
3,109
Reaction score
1,139
sucks to see that server's with great dev's don't last long. :(

great release, though i'm curious what you did with the exp. what changed in v80 exactly?

and third party crits.. pretty cool, the only thing I wanted to copy from bms.
 
Junior Spellweaver
Joined
Apr 5, 2008
Messages
152
Reaction score
65
sucks to see that server's with great dev's don't last long. :(

great release, though i'm curious what you did with the exp. what changed in v80 exactly?

and third party crits.. pretty cool, the only thing I wanted to copy from bms.

Yeah, I think the main problem is those devs just don't have the time to pour into the server.

In v80 nexon changed the split from 60:40 to 80:20. The 80% gets divided and goes to the party members, while the 20% goes to the player that killed the monster on top of any experience from the 80% split. In most cases, this works out better for parties overall. I believe there was also another fix that went into calculating the split, but as I wasn't the person who worked on that I'm not sure.

As for the third person crits, they took a while to add and I technically had the code for them long before I activated them since the calculations are tied into the anti-hack.
 
Junior Spellweaver
Joined
Jan 2, 2014
Messages
150
Reaction score
50
Looks like a great source, but, I have a question. Does this require Java 8 or..anything like that?
In early stages I setup a boolean for java8 because my test vps was on that. It can be set in constants file(It just did script fix for java8 and a change to shutdown as it broke the screen whenever a shutdown was executed from console.)

If I remember correctly the actual server was on java7. The java8 boolean might of been removed or outdated as I was not part of the team for the whole time.
 
Junior Spellweaver
Joined
Apr 5, 2008
Messages
152
Reaction score
65
Looks like a great source, but, I have a question. Does this require Java 8 or..anything like that?
I would highly recommend Java 7. We had it support Java 8 at one point. But we ran into issues with NPC scripts loading incorrectly on the new engine, so we reverted back to Java 7.

You cannot add src into netbeans.
The files included a netbeans project file. You may have to remove the project files to add it. (The nbproject folder)
 
Joined
Aug 10, 2008
Messages
858
Reaction score
516
Something else added with EXP distribution changes was the addition of the party experience bonus modifier in ServerConstants. Ideally, it can be used to have up to 2x party bonus EXP events without gain transparency (all gains show up as they should to the end user). Anything after that causes the gain message to not work properly since it goes by % gain rather than by a multiplier. Also, fixes were made so that party bonus experience displays since it was not being displayed as separate from the total gain in the original fork.

To further explain the 80:20 formula used: 80% of the pool is distributed among all damage dealers as a proportion of their damage dealt whereas 20% is for the person who scores the killing blow on the monster. The person scoring the killing blow is also the only one who receives the white EXP gain (not the one who received the most EXP).

Edit: When in a party scenario, the 80% pool is used to calculate party distribution as if it were the 100% gain of the party experience. From there, 20% of the 80% goes to the highest damage dealer of the party (slightly wrong since it is supposed to be 20% of the pool split on damage dealt - again) and then the remaining 80% of the 80% is split among the party by level average.

Also, the formula includes the minimum leech condition and will not distribute EXP to people who are not within 5 levels of the monster OR 5 levels of the lowest qualifying other party member (unable to extend/chain past the first qualifying member). This makes it so the minimum leech level is monsterLevel - 10 where the lowest other qualifying member is monsterLevel - 5.
 
Last edited:
Initiate Mage
Joined
May 6, 2015
Messages
10
Reaction score
0
Found out how to do it with the file but now theres a lot of netbeans errors in the most files. Using Windows 7, any solutions? never had this with other sources.
 
Flow
Joined
Nov 9, 2012
Messages
608
Reaction score
164
Source works fine, just needed to put in dist files from MoopleDEV REV 120 and go back to Java 7.

Amazing source.
Yes besides some major issues which Twdtwd mentioned, it should work just fine.
 
Experienced Elementalist
Joined
Mar 28, 2015
Messages
237
Reaction score
69
Major additions:
and a custom LMPQ.
Out of curiosity, what's custom about it? The only difference in the event script from hurricanems from what I can tell is that the entrance map is randomized and that it has been formatted. Timer+instance issues have also been kept from hurricane.
 
Junior Spellweaver
Joined
Apr 5, 2008
Messages
152
Reaction score
65
Out of curiosity, what's custom about it? The only difference in the event script from hurricanems from what I can tell is that the entrance map is randomized and that it has been formatted. Timer+instance issues have also been kept from hurricane.

LMPQ gave a flat rate of EXP based on level, and party size. The ticket amount needed was changed and the ticket drop rate was changed.
 
Initiate Mage
Joined
Jun 3, 2015
Messages
1
Reaction score
0
Hey i appreciate you releaseing your source :)

Currently i've hit a wall in my creation process.
I've downloaded, and installed properly all the needed programs.
Did my port forwarding, unlimited str files, and sql/ip text edits.
No bat errors, local host (self connection) works just fine.

My main issue comes when trying to host to others.
When trying to host i recieve "unable to connect to login server"
Still no bat error, but also this time around no connection shows up.
Unlike through localhost :/



1. Possiable issue with sql - what do you write next to db url (database url) in constants? Mostly likly not nessacry.
2. Hex editing went wrong doubtful but possible.
3. Text edits for host/ip/sql. If anyone have a check list for changes needed. Pretty sure this is not the issue.
4. Troubleshoot somethings.

Please help me , ask me for any extra info needed in solving this issue.
 
Back
Top