RELEASED Stardew Modding API (SMAPI) 0.40.0 WINE-VERSION

Discussion in 'Mods' started by Pathin, Jun 7, 2016.

  1. Pathin

    Pathin Void-Bound Voyager

    Hello everyone,
    I hereby present you a version of SMAPI 0.40.0 which runs on Linux with wine.
    It's a port of SMAPI to .NET 4.0 with some wine specific crash fixes.

    Binaries can be found here: https://github.com/xPathin/SMAPI-WINE/releases
    The source code can be found here: https://github.com/xPathin/SMAPI-WINE
    Support here: https://www.reddit.com/r/StardewValley/comments/4mvaen/created_a_version_of_smapi_0400_with_runs_on/

    Windows users and mod developers, please go here: http://community.playstarbound.com/threads/stardew-modding-api-0-40-0.108375/

    Here is a little screenshot of this game running on Arch-Linux in the i3-window manager and with 9 mods loaded:
    [​IMG]

    To get the game working at all in the first place please follow this Link: http://stardewvalleywiki.com/Linux#Running_Stardew_Valley_in_Wine

    Greetings,
    Pathin
     
      Last edited: Jun 7, 2016
      scrptrx, pedrohmx, ClxS and 3 others like this.
    • elebuu

      elebuu Scruffy Nerf-Herder

      I don't suppose this is also compatible with OSX Wine?
       
      • ShneekeyTheLost

        ShneekeyTheLost Master Astronaut

        You, sir, are a gentleman and a saint. Running just fine under Linux Mint 17.
         
          Pathin and Androxilogin like this.
        • Androxilogin

          Androxilogin Giant Laser Beams

          I'm excited to try this under the 'ol wifislax. Thanks for confirming the awesomeness, guys. And bad ayass work, OP. I had it running the regular game but with mods this will save a lot of time while I do my "thangs".
           
            Pathin likes this.
          • ShneekeyTheLost

            ShneekeyTheLost Master Astronaut

            Found an interesting issue.

            I installed Farm Automation, found here and it doesn't seem to want to work through the WINE version of SMAPI.

            I suspect this is related to the well known issue of Linux being case sensitive and a disconnect between using caps and not using caps, but not positive.
             
              Pathin likes this.
            • elebuu

              elebuu Scruffy Nerf-Herder

              Followed the OP's links and answered my own question. Other than not running within the Steam tray (I honestly didn't feel like figuring out how to tell Wine to run both .exes) and not having an AppData/Roaming folder (that I can tell), this works beautifully as a SMAPI for OSX too.
               
                Pathin likes this.
              • Pathin

                Pathin Void-Bound Voyager

                Hey elebuu.
                The AppData/Roaming folder actually is the /drive_c/users/YOURUSERNAME/Application Data/ folder in your wine prefix folder :)
                 
                  elebuu likes this.
                • Pathin

                  Pathin Void-Bound Voyager

                  A quick follow up. We had that issue on reddit.
                  It's due to the fact that we use the .NET Framework 4.0 for this SMAPI Version and only have .NET 4.0 installed.
                  But this mod is compiled for .NET Framework 4.5 and uses methods exclusive to .NET 4.5.
                  To get it running with our SMAPI we'd need to rewrite the mod a bit and recompile it as .NET 4.0 assembly.
                  So, if anyone feels up to the task, be my guest :)
                   
                  • ShneekeyTheLost

                    ShneekeyTheLost Master Astronaut

                    That would require re-writing any mod which used .NET4.5 methods. That's... pretty extensive. And you'd probably want to have the mod author's permission, or have the author do it.

                    Effectively, anyone using .NET4.5 exclusive code is going to need two versions of their mod, assuming it will even work without the .NET4.5 code. That's... likely not feasible. The other option is to encourage SMAPI to revert to 4.0 since the game is written in 4.0. Don't know how likely that is, but that would probably be more likely than authors re-writing their mods for maybe 1% of the userbase.
                     
                    • elebuu

                      elebuu Scruffy Nerf-Herder

                      Oh WEIRD I actually have one of each. :rofl:

                      Thank you!
                       

                        Attached Files:

                      • Pathin

                        Pathin Void-Bound Voyager

                        Well, you could simply fork most of the mods on github and just make .NET specific changes and then just pull new changesets... It's not much work actually. Someone just needs to do it...
                        And most mods are on GPL / MIT License so there is no problem with modifying... And even if so, the mods are offered for free so you can do with them pretty much what you want anyway because there is no damage done/nothing to sue you for ;)
                         
                        • ShneekeyTheLost

                          ShneekeyTheLost Master Astronaut

                          It is still courtesy to at least request permission from the mod author before proceeding. Also, mod author likely will not support it as it is a fork from his work rather than his work.

                          I'm not saying it won't work, I'm just saying that this isn't quite as simple as you are making it out to be if you want to avoid bad feelings.
                           
                          • Pathin

                            Pathin Void-Bound Voyager

                            Hope you aren't annoyed already and/or think bad of me :(

                            It actually is that easy as long as the mod is on github...

                            You can either:
                            1. Ask the mod developer to provide an extra branch (easy to maintain, cleanest method)
                            2. Create a fork and maintain it (still clean, like i do with the wine smapi)
                            3. Create a new project, don't fork, and make it hard for yourself...

                            But yes, I agree it's time you have to invest as someone.

                            For my standing and understanding...
                            I'm a software developer myself and when I put something out as FOSS i really don't care what people do with it.
                            People can rip it, sell it, completely rewrite it and publish it / rebublish it under the same or a different name (as long as the name isn't protected obviously). That's why it's free (as in do what you want).
                            That's the idea behind FOSS and that's why you don't need any "hard feelings". ;)

                            Greetings,
                            Pathin
                             
                            • ShneekeyTheLost

                              ShneekeyTheLost Master Astronaut

                              I'm coming from the Minecraft modding community. There was... a considerable amount of drama on that topic. It's not something I want to introduce to the SDV modding community. It could well be that I am over-reacting as a result.
                               
                              • Jinxiewinxie

                                Jinxiewinxie Farmer Fashionista

                                Will this work for the new official Mac version (not using wine) that is available?
                                 
                                • foghorn

                                  foghorn Pangalactic Porcupine

                                  ^No, unfortunately. This is still the 'StardewModdingAPI.exe' binary, but it's been patched up to work correctly with WINE.
                                  People running the Mac & Linux/Steamplay native ports will need a version of SMAPI ported to their own OS'es.

                                  Note: The mods will all have to be recompiled/ported, as well.
                                   
                                    Last edited: Jul 29, 2016
                                  • ShneekeyTheLost

                                    ShneekeyTheLost Master Astronaut

                                    Depends on how they use the MONO hooks, actually. I'm going to be doing some testing on this topic.
                                    --- Post updated ---
                                    I *think* it *should* work if the SMAPI is built with MONO instead of .NET, or at least if a MONO bridge is set up for it. Right now, it kind of sort of but not really works through WINE, although getting a winebottle just for a single executable seems obtuse, and doesn't really seem very appealing.

                                    The linux port of SMAPI is kind of a misnomer. It isn't actually executible natively, it's just built using .NET 4.0 (which SDV is built with) not .NET 4.5 (which has issues with a particular library having significant changes that doesn't like to be backward compatible), letting you run it through WINE.

                                    However, if you apply the same technique SDV used to SMAPI (linux version), it *should* function. If so, good news is that no one needs to recompile their individual mods. Bad news is that this is a lot more complicated than I am presenting it.
                                     
                                      Jinxiewinxie, eemie and foghorn like this.
                                    • scrptrx

                                      scrptrx Void-Bound Voyager

                                      ooooh great, I'm probably going to need this eventually for Arch Linux.
                                       
                                      • Pinkiepl0x

                                        Pinkiepl0x Void-Bound Voyager

                                        If I've already downloaded the official Mac version from Steam, do I have to redownload the game using the Wine wrapper, or am I just able to transfer the files over? If I can't, i'll redownload the game using wineskin but how do I transfer over my save files? So much work just to get one or two mods, but I don't want to mess up my Mac by doing something wrong.

                                        Thanks for the help! :)
                                         
                                        • ShneekeyTheLost

                                          ShneekeyTheLost Master Astronaut

                                          There's an appdata/stardew valley/saves folder where your save information is stored. You will need to re-download the windows version in the winebottle and run it through WINE for this version of SMAPI to function.
                                           

                                          Share This Page