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!

[V.12] MapleGlobal

test

  • yes

    Votes: 13 31.0%
  • no

    Votes: 5 11.9%
  • what

    Votes: 24 57.1%

  • Total voters
    42
Everything is possible~
Loyal Member
Joined
Jan 9, 2008
Messages
818
Reaction score
847
No comment. Everything we want to release now is on github.

MapleGlobal (WvsBeta_REVAMP)

This is it. The last version before closing down.
This only contains the server source, without the scripts and other 'private' things, making it incompatible with the client. Good luck fixing that.
Notes


  • We will not give support on this release. This file has all the support we want to give.
  • The NX files are from some old version I had lying around. Possibly not fully compatible with client.
  • Config options for Redis, ElasticSearch/logging and some others are missing
  • ReNX has been modified to support merging of NX files
  • log4net.ElasticSearch was made a bit better in terms of memory usage and logging
  • SQLs/wvsbeta_sql_compatible.sql should be compatible with the server
  • packages/ folder contains the NuGet packages.
Features


  • Lots.
  • log4net and ElasticSearch for logging/tracing
  • Redis for locking character transfers when they CC and other features
  • NX data files
  • Threaded packet sending queue to offload slow sockets
  • PatchCreator for maple .patch files, using jdiff
  • Improved MasterThread for running the best as possible, without CPU load
  • Anti-Hack measures
  • Discord webhook support
  • bcrypt password hashing
  • NO NPC SCRIPTS INCLUDED
Credits


  • wackyracer
  • Exile
  • Diamondo25
  • Sifl
  • Anthony
  • SpAgentMoo
  • Joob
  • Rath
  • Ginseng
  • csproj (for doing about nothing at all. hurr)


And all staff and the players that have made the server a great success. You'll be remembered.
Things we've learned


  • Don't exploit or hack. We knew all along.
  • Don't bug GiveEXP function so that it saves on every exp gain, while there are 50 people training (thanks Exile :) )
  • Don't livestream with your camera pointing to your keyboard and then log in.
  • Let other people check your code to remove exploits.
  • Don't rush releases.
  • Delaying releases because migration logic is borked is not helping the problem, either. Like the teleport bug, hurr.
  • And if you decide to release and do your last push to git, your git host could drop out (Gitlab issue @ 2017-08-24 at 2 AM)
  • KitterzPE or RiPE will not work. Stop crashing your clients...
  • Keep your Windows Server up-to-date, otherwise you might get rekt >_>. (We never had that issue)
  • There are VPSs running on old hardware out there. Ours was on a Nehalem or Westmere based host.
  • Make sure your server host(s) is/are paid. Otherwise you get downtime out of nowhere.
  • Don't get top ranked on Google for "maplestory global"
  • GTOP is poop. Don't spend money and time into that.
  • If you do decide to use GTOP, expect downtimes. And log everything related to it.
  • Don't boost your friends as a server owner, outside of Tespia. People are not going to like that. #boostgate
  • People like being midget.
  • Keep love outside of private servers, or you might get f*cked
  • Keep your password private. We've had 5 people that we had to recover from some brother or sister deleting their character(s)...
  • Do not push to production directly. That single line edit could have a lot of issues
  • Use debug logging using debug logging functionalities, especially when you do it in the attack handler
  • Trace.WriteLine is erased. Do not pass a function call, such as packet.ReadInt() to it, because that will disappear.
  • Do NOT select text inside a console. It freezes the application running inside it.
  • Double check, no, TRIPLE check your queries. Don't want your shoes to end up on your head ;')
  • Have a way to test someones character to figure out issues.
  • Do not put too much money in Facebook. Your reach will be capped at a certain point
  • Use /map 0 for free meso
  • Stay away from El Nath, it might kill you until you are dead (and lost all your EXP). Who needs to check HP anyway?
  • When you think you fixed an issue with falling down the map, and you accidentally made a teleport cheat on the map boundaries. Which then keeps on existing for weeks.
  • TomBradyProtect, and you'll never get a wz editor ever again.
  • Don't give away Ilbis as a CM.
  • Muting people might make them use emoji responses to talk, instead.
  • Make sure repeated actions are in sync, and don't decide to stack up in events due to locking and such hurr...
 
Last edited:
Newbie Spellweaver
Joined
Oct 11, 2015
Messages
5
Reaction score
8
Why release MapleGlobal source? Why not?


Here is a very incomplete rundown of some interesting stuff inside of it:
Already in OP but here are some more details:


FEATURES:

  • Database evolutions. To make changes to the database put a .sql file in the evolutions folder and they will automatically apply on server boot. Useful for dev when someone changes the db structure and you pull their code
  • Soft reboot. Boot an already online server on the same machine and all characters, items on maps, and mobs (and some other stuff iirc) will be automatically transferred to the new server and clients will automatically reconnect. Use this for deploying updates when you dont need a full reboot. You can also soft reboot the center server but it can be risky sometimes to do so. Transferring PQs and handling forced return maps left as an exercise for the reader
  • Data override loading - add more nx files to the "data" folder and any nodes in there will be loaded, and if they exist already, will replace the already loaded ones from the main Data.nx. Use this for temporary events that require wz changes - you will be able to change back by just removing the file with the updated maps.
  • GMS-like events including Snowball, FTJ (not sure if fully GMS-like, that thing was rarely run), Fitness, Quiz
  • GMS-like skills. HS actually works like it's supposed to when many servers get it wrong (its shittier), all 3rd job working properly (for the most part)
  • Elasticsearch logging. Configure the target server and you will be able to view a ton of game data including every single item transfer, and logs of other things too. Very useful for analytics, tracking economy, chat logs and some heuristic anticheat
  • Redis for online player tracking - set this up or face the consequences. Read the source for more.
  • KPQ fully working (albeit jankily)
  • GMS-like lifepool
  • Not much else to say, it works, it's stable (idk why people are obsessed with stability, it should really be the baseline for a source people even consider using), its been tested with hundreds online for several months, sometimes going upwards of 90 days with no reboots or issues. Everything pre-ludi implemented. Occasional GC hiccup issues we've had in rare instances. Give linq optimizer a try?
  • With the right edits client side you can use !varset skin 5 to turn characters into heads with legs. This is the crowning feature of the entire source
  • !ditto will allow a gm character to clone the stats, equips, skills, and inventory of another character. Comes in handy sometimes, fun to troll ppl with


TECHNICAL DETAILS:

  • I apologize for the copious use of "fucker", "fuker1", "mongoloid" and other such words as variable names.
  • Login/Center/Game structure
  • It's not perfect but it's workable. Adding things to it will take some getting used to and some parts could use some cleanup, but overall it's not too bad of a headache to work with
  • There are some old remnants of original WvsBeta and DMS that are 100% unused in some files. Try to find them all and delete them
  • Everything except network code is fully single threaded, so no dealing with threading issues here. Worried about performance? Individual channels should work fine with up to 800 online each on 6+ year old VPS hardware before you run into issues, according to our testing. Just make sure there's no lag between the database and the server or you're going to have a bad time.
  • A scripting API is there and fully works (and it has been used to script every v12 NPC), though scripts are not a part of this release. See original wvsbeta_revamp for how to do some scripts, I think it released with a few examples (?)
  • You can configure log4net, in case you want to set up your own data pipeline instead of a simple ELK stack. Much of your mileage from this source will come from how much you leverage analytics. It is a bit weak in some other areas, and since the source for the MG client won't be releasing, you'll want to work on server-side security a bit...

RIP just noticed diamondo already edited his post. Hopefully you should get some more details from this one.



MEMORIES:

This section contains some media showing off some gameplay running on the source. A huge thank you to those who helped and supported us along the way. MapleGlobal has been a long, bumpy journey and we're glad we've made it this far. Thank you for helping us make an impact. Thank you for joining us on this crazy adventure.

First boat ride


hQCp8wX - [V.12] MapleGlobal - RaGEZONE Forums



Monster invasion stress tests server



Using the original wizet patcher

Diamondo25 - [V.12] MapleGlobal - RaGEZONE Forums


Snowball in action (couldn't find the vod of the event where people went less crazy on the snowmen)



Soft Reboot working (experimenting with the animation, timeout sent to login screen instead of back in-game)


[video=youtube;OzxZAEcFFQk]https://www.youtube.com/watch?time_continue=5&v=OzxZAEcFFQk[/video]

Fun client edit for when people get banned

 

Attachments

You must be registered for see attachments list
Last edited:
Newbie Spellweaver
Joined
Dec 6, 2008
Messages
53
Reaction score
11
Holy cripes, unexpected rls. Merry freaking christmas everyone

With the right edits client side you can use !varset skin 5 to turn characters into heads with legs. This is the crowning feature of the entire source

Why am I not surprised lmfao
 
Newbie Spellweaver
Joined
Aug 29, 2008
Messages
10
Reaction score
3
My dreams have come true! Cheers guys.

If anyone works out what FieldSet.img is supposed to do, please reply. Got everything working apart from the Game server.
 
Everything is possible~
Loyal Member
Joined
Jan 9, 2008
Messages
818
Reaction score
847
My dreams have come true! Cheers guys.

If anyone works out what FieldSet.img is supposed to do, please reply. Got everything working apart from the Game server.

FieldSet is used for instances. In this version its mainly KPQ. Config can be gotten from BMS FieldSet.img
 
Skilled Illusionist
Joined
Apr 26, 2015
Messages
302
Reaction score
77
Nice release!
Btw, for the maple history, you should release also the scripts! :D
 
Last edited:
Joined
Jun 25, 2008
Messages
923
Reaction score
269
can anybody tell me how i set this up O.0?
A better question would be where did you go wrong setting it up? This source isn't exactly noob friendly. If you want this source to work, you've got to put some elbow grease in it and find out where you go wrong with setting it up without having someone guide you step by step.

I'll help you, but I won't hold your hand the whole way.
 
Newbie Spellweaver
Joined
Nov 18, 2015
Messages
15
Reaction score
1
I should say this as well. I know my inbox is full, so please don't try asking me for help that way.

Instead, add me on Discord: wackyracer#1337

I cannot find you on discord can you add me? MiLin#8182
 
Back
Top