Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by exec

    1. Blasterboy
    2. MajorCyto
    3. xeroplz


      now i'll be able to send myself messages to not feel lonely while breaking Grapple Shot over and over

  1. Update 1.4.6 Fixed a bug where packets weren't decrypted, which made them useless for subscribed applications. This fixes the problem several people had with Morrighan lately, where Pale and other applications that use it didn't get any or limited data.Click on Download in the opening post to get the latest version if you had problems.
  2. exec


    (Late) Welcome~
  3. Silver-lining: A fresh server is a fast server.

    1. Cryptic


      I notice the difference o:


    2. exec


      It's a new HDD as well of course, who knows how the damaged one affected the speed^^

  4. If you could make dedicated log files for specific features that would be great. Like, entering RP dungeon, leaving RP dungeon, etc, so we don't have to sift through so much data^^
  5. Haven't written a single line of code for Aura so far today, but spent >2 hours just talking to people about Aura...

    1. Cryptic
    2. exec



      Well, got 2 hours of coding done, better than nothing.

  6. Do we have a clean log of an RP dungeon? Like the first G1 one, or maybe Mores, to have only one character?
  7. Exactly (tried to clarify it a little now), we can't have people advertise pservers here, but guides on how to set up and use Aura are fine and actually welcome^^ Speaking of which, welcome~
  8. Gonna build up a new todo list and Wiki today.

  9. Update: Fetitor, a dedicated feature file editor is out: This is the original post: While I'm working on an improved features converter, I'll repost this here. Originally posted by Yiting on the Aura forum on November 27, 2012. MabiFeatureTool.zip
  10. exec

    code test

    <div data-test="foobar">blub</div>namespace Aura.Data { internal static class DictionaryExtensions { internal static TVal GetValueOrDefault<TKey, TVal>(this Dictionary<TKey, TVal> dict, TKey key) where TVal : class { TVal result = null; dict.TryGetValue(key, out result); return result; }namespace Aura.Data { internal static class DictionaryExtensions { internal static TVal GetValueOrDefault<TKey, TVal>(this Dictionary<TKey, TVal> dict, TKey key) where TVal : class { TVal result = null; dict.TryGetValue(key, out result); return result; }
  11. While testing Pale's dungeon floor generator, I made it generate images of every dungeon and floor there is, with gold as drop item. You can't do much with this, but it's kinda fun to look at for 2 minutes^^ dungeon_floors.zip
  12. Since putting together color codes for flashies can be annoying at times, and highly confusing for newbies or people who have no idea about hex colors, I wrote a little generator for fun. You can set both colors, the flash mode you want, and the level (which is basically like the speed). It's not 100% complete, there are more modes and maybe levels, and another option I've ignored for now, and it might not be 120% accurate, but it should be enough for the start. Have fun~ Link (Tested in Firefox and Chrome, little buggy but working in IE9.)
  13. exec

    LaMe - Launcher

    LaunchMe is a simple launcher/downloader, inspired by the older Ragnarok Online launchers used by the pserver community. Aside from starting the client with custom parameters it can also download pack files and be customized graphically. This is an alpha release, it has barely been tested, aside from general functionality, and doesn't do much besides downloading and launching. The main reason I wrote this is because I've never written a customizable window and was curious =< But I'm sure someone will find a use for it^^ Features Launching Pack Download Customizeable Browser Element (e.g. to display patch notes) Playing BGM Download (55KB) Source How to make LaMe download packages LaMe simply downloads files via HTTP and moves them to the "package" folder. If a file already exists the download is skipped. There is no version checks or checknums, if a file from the list doesn't exist in the local package folder LaMe will download it. If you or the client delete a file it will simply be re-downloaded next time you start LaMe. Put a URL to a folder into the ini file, at Packages/URL. LaMe will look for the download list file (specified in Packages/List) and the actual packs at that address. The list simply contains one file name per line, e.g. 1001-my_features.pack 1002-white_beabhein.pack There are no naming conventions, these are just examples. Empty lines or lines starting with "//" (comments) are skipped. How to customize it Design: The design consists of multiple images that can be found in the "LaMe" folder, the window background, the close and start buttons, and the various states for those buttons (hover, down, disabled). To change anything, just replace the files and adjust the settings in the ini file. The background treats pink (255,0,255) as transparent, so you can do rounded corners and stuff. Naming: The LaMe.exe looks for the ini and image folder based on its own name. If you rename the exe to "Ibam.exe" you also have to rename the ini and the folder to "Ibam.ini" and "Ibam". In theory this allows for multiple launchers to co-exist. Future features If you have ideas for additional features feel free to post them here.
  14. exec


    Aura is an open-source server emulator for the MMORPG Ma***ogi. It was in public development and available via this forum until January 2017, when Nexon kindly informed us via a DMCA that they didn't like us creating a server emulator for their game. Today, Aura is still in development, but unfortunately it's not available to the general public anymore. That being said, Nexon is not very good at sending DMCAs, and they actually left every single fork and mirror out there alone, so if you wanted to, you could easily find the last version that we published back then. Google is your friend. This sub-forum serves as a kind of "legacy support forum." If you get your hands on Aura, feel free to discuss it or ask questions here.
  15. Morrighan acts as a kind of proxy, it makes the client connect to a special local server that forwards all packets from the client to the actual server. This way it's able to read every single packet that gets sent or received. These packets are then passed to other applications, so they can work with them, e.g. loggers like Pale. Not only is this way of logging much more reliable than the packet sniffing in MabiPale 1, it also allows to log local traffic without jumping through hoops, so you can log the traffic to your own local Aura server if you so desire. It should work with any official server and it's unlikely to break. The look and feel is similar to Pake+mod_Alissa, but without the hacks^^ It's even compatible to Alissa Analyzer, if anyone would want to use it. Download How to log Let's assume you want to log packets from NA. Instead of launching the client through the patcher you would create a link/bat, like you would to connect to a local server, but with the NA IPs. And instead of client.exe you would use Morrighan.exe (which you have to put into your Mabi folder), that's it. Morrighan.exe code:1622 ver:143 logip: logport:11000 chatip: chatport:8002 setting:"file://data/features.xml=Regular, USA" What will happen here is that Morrighan reads the parameters, replaces the logip and port with the ones to a new local server it started, and finally starts the client. You will see a little window in the upper left, to let you know that Morrighan is running. Once you see that window you can use a tool like Pale to connect to it and log packets. The window closes automatically when the client gets closed. You can also double click it to quickly close Morrighan and the client. How to connect to Morrighan Morrighan uses the same API as the tool it was inspired by, "Alissa". It uses WM_COPY messages to communicate between Morrighan's and the subscriber's window. To subscribe to Morrighan, to receive packets, you send the "op" (dwData) 100 to Morrighan's window (window name: "mod_Alissa"), to unsubscribe, you send 101. While you're subscribed, you receive all incoming (op 0x10101012) and outgoing (op 0x10101011) packets via the same method. For an actual example on how this works, I suggest looking at the corrosponding functions in Pale. Alternatively you can also create a plug-in for Pale, which will be easier. Nexon Launcher With the removal of direct launch in NA and possibly other regions, the NX hash login has to be used to start Morrighan for officials now, which uses the /P parameter to pass the login information to the client directly. Morrighan can assist you in retrieving that parameter, so you can still easily start the client with it. Starting with Morrighan 1.5.11 you can add the parameter nxlauncher to your normal NA start up parameters. If you do so, Morrighan temporarily replaces your Client.exe with itself. Then you click Play in the Nexon Launcher, which doesn't start the client, but Morrighan instead, which now doesn't start the game, but just notes down the NX hash. Afterwards you click OK in the window of the original Morrighan, which reverts the Client.exe back to normal, retrieves the hash from a temporary file, and then starts the client as it normally would. Example: Morrighan.exe code:1622 ver:143 logip: logport:11000 chatip: chatport:8002 setting:"file://data/features.xml=Regular, USA" nxlauncher Restrictions Right now Morrighan only supports the Login and Channel servers, you won't get any messenger packets, it lets the client connect directly there. It was easier to code it like this and we don't really need the messenger packets anymore.
  16. MabiPale 2 is the second version of MabiPale ("Pale"), a packet logger for Mabinogi. Unlike its first version, Pale 2 doesn't rely on error prone packet sniffing anymore, but utilizes Alissa compatible packet providers, like Morrighan. Pale 2 was coded from scratch, to clean it up and make it extendable through a plugin system. All Pale 1 features that weren't just simple logging have now been implemented as plugins, like the Packet Analyzer and the Entity Logger. 2 more planned future plugins are a dialog parser and a search function. Additionally a few little things have been tweaked and added, like better performance and explicit filtering. If you develop plugins of your own that you'd like to share, post them here. For examples of how to code plugins take a look at the plugins in the source. Download Source Features Logging packets Alissa compatible logs Log management (deleting, filtering) Plugin system Official plugins: Packet Parser: Parses packets from hex. Entity Logger: Displays information about all creatures and props to be found in the logged packets. Packet Analyzer: Shows additional information about selected packets, or converts the data into an Aura compatible format, e.g. dialog to Msgs. DunGen: Dungeon floor layout visualizer. How to use MabiPale2 requires an Alissa compatible packet provider. Unless you have a working Pake with mod_Alissa lying around you can use Morrighan. Simply start the client with it and click connect in Pale. Unlike the old Pale there's no Start/Stop/Pause anymore, while you're connected you will get packets, while you're disconnected you won't. Since Morrighan gets all packets until you close your client you don't have to worry about pausing in Pale, connect/disconnect/reconnect whenever you like. Setup Put Morrighan.exe into your Mabi folder Create a link to Morrighan.exe, using the parameters you would use to connect to your Aura server, but with NA IPs. Morrighan.exe code:1622 ver:143 logip: logport:11000 chatip: chatport:8002 setting:"file://data/features.xml=Regular, USA" Start the client with that link whenever you want to log packets. Click connect in Pale to subscribe to Morrighan's packet broadcast and to start logging packets. Please note that to log the latest version of NA, which doesn't support direct login anymore, you need to use additional parameters for Morrighan. See the Morrighan thread for more information.
  17. exec


    General No spamming. This includes double and non-meaningful posts (e.g. "lol", "thanks"). No flaming. No trolling. Respect each other. Search the forum and the internet before asking questions. Forbidden Content Obscene, vulgar, sexually-oriented, hateful, threatening, or content violating general laws. Copyright infringing material. This includes, but is not limited to, copyrighted music, films, software, and client files. Links to private servers or information on how to play on publicly hosted servers. (Advertisement) Links to Aura or uploads of files that were subject to the DMCA. Others This is an English forum and all posts should generally be in English as well. Users and posts violating those rules will be punished appropriately and/or deleted
  18. exec

    Windows 10

    Same for me. Windows is rarely usable until the first Service Pack =<
  19. Personally I think a beginner should learn one language first, to build a foundation. Learning multiple languages with different ways of handling problems at once might confuse more than it helps.
  20. If he's currently working with VB in school it might make sense to continue that though, to learn the basics. He will learn about the .NET framework just as well. To switch to C# later on he basically just has to learn a new style, all the system classes are the same. I don't know if I agree with that, I guess it's not as cross-platform as C++ or Java, but with libraries/engines like MonoGame and Unity I think C# is very viable for cross-platform game development.
  21. The thing is, you can do game programming in pretty much all bigger languages, compiled or scripted, high or low level. You'll find libraries and frameworks in almost all of them. The only reason to go to a specific language would be if you have special requirements, like a game that runs in the browser, or when you need power, on a AAA level. It's basically impossible to write an Assassin's Creed in Python, or Lua. But AAA shouldn't be your goal in the beginning anyway, obviously. Really, just find your favorite language and hack away at the beginning^^ In that case .NET in general will probably be a safe bet, because the chances that I'll choose C# for a new project are very high. You could actually write scripts in VB.NET in Aura, although nobody ever used or really tested that feature
  22. There's not exactly a list of best languages, it depends on your preference, what field you're working in, etc. But learning C# and C++ is a pretty safe bet, high in demand and powerful. Maybe add some web development to the mix, JS, PHP, and the likes, that can be pretty useful nowadays. Aside from that, try as many languages as possible and find the ones that suit you and your needs the best. For me, right now, that's C#. I started with Visual Basic 6. It was relatively easy to start with, and gave fast results. For me that was the way to go, though there are people who say you should start with something low-level like C, to learn what's going on behind the scenes. However, I think it's important to hook the newbie first, before showering them with facts about compilers, linkers, memory management, pointers, etc... While you will have to learn those things at some point, I actually think it's easier after you saw them in action ("Ah, so that's how my strings work behind the scenes!").
  • Create New...