1. When making a thread, please tag your thread accordingly using the menu to the left of the textfield where you name your thread where applicable. Server Advertisements and Mod Releases should be contained to their respective subforums.

Server Discussion StarryPy - A plugin driven server wrapper written in Python.

Discussion in 'Multiplayer' started by Carrots Are Mediocre, Jan 29, 2014.

  1. Crasher

    Crasher Yeah, You!

    Is anyone around that might give me a brief point in the right direction?
    I'm at a step of installation that says "once your in the StarryPy directory" but... "in" when using a computer is a very very generalized term.
    Should I be "in" that directory through python, (win) cmd, I've noticed one or two other semi-legitimate ways to be at the directory, but everything has resulted in an error when I use the "run 'pypm install -r requirements.txt' to install all of the dependencies" and any permutation of its initial keywords in case I just wasn't using this keyboard-a-ma-phome properly.

    In "cmd", run doesn't get recognized as an internal or external command, same with starting the line with "pypm".
    I'm sure that's an obviously ignorant statement to make on my part, but thats why I'm here. I can't for the life of me educate the stupid out no matter how many forum or reddit posts and thumb through. I'm calling it quits and just posting this after 3 hours of wasted google making.
    =)
     
  2. rickyfk

    rickyfk Space Hobo

    i need help installing this also can someone msg me on skype inbox me for my skype
     
  3. teihoo

    teihoo Ketchup Robot

    From install guide:
    Once you're in the StarryPy folder, run 'pypm install -r requirements.txt' to install all of the dependencies. It will give you an error about enum34; don't worry about it, we'll take care of that next.

    After all the components are done installing, run 'pypm install pip'. Wait for that to finish installing, and then run 'pip install enum34'.

    Just run commands in yellow (without the run).
     
    Last edited: Mar 18, 2014
  4. teihoo

    teihoo Ketchup Robot

    Hardly, since I dont use skype, I can talk to you here:http://webchat.freenode.net/?channels=##starrypy or tell me what the problem is.
     
  5. plebian

    plebian Poptop Tamer

    Click below this is a great starrypy tutorial with downloadable instruction.



    Cheers..
     
    zebrapoe and teihoo like this.
  6. teihoo

    teihoo Ketchup Robot

    I've been testing new projectile protection which does planet check, if player is registered on the planet. And its using loads of CPU doing the planet check :/ So I'm thinking now, remove planet check - so actually if you don't use global protection (protect anything), then projectile protection will not be enabled. If you do, then guests cannot use forbidden projectiles at all, lets say you trust your registered users with those even on protected planets... until I figure out how I can do planet check quick, this will at least keep the performance where it was.
     
  7. Brockway

    Brockway Pangalactic Porcupine

    Other wrappers seem to have solution to that, are they not dispose to help you with their knowlege ?
     
  8. teihoo

    teihoo Ketchup Robot

    I will have to look more into that, maybe its the core problem or just the way packets are listed now, I'll see if I can speed it up, but for now I just removed custom planetary protection check for projectiles.
     
  9. teihoo

    teihoo Ketchup Robot

    Some fixes for now: https://github.com/teihoo/StarryPy_Teihoo/commit/866d032acbab2e19ab783bbfabbaeb18cf6bf90f
    Removed projectile protection for custom planet protection, as it uses way too much CPU checking planets. It works only for guests when protect_everything is enabled
    Changed protection and claims to always store original name and check by original name
    Added claims to config, also added "bad_packets_mild" which are a mild version of protection (can interact, open container, loot stuff) - rename bad_packets to bad_packets_org and rename bad_packets_mild to bad_packets, to use the mild version.
     
  10. Brockway

    Brockway Pangalactic Porcupine

    For updating without loosing my traduction, there is an option on git to download only modify/added files ? or i have to do manually ?
    Sorry i'm noob with git.
     
  11. teihoo

    teihoo Ketchup Robot

    I linked to what has chamged. Download whole thing and overwrite the files in your StarryPy folder. You can use the zip download its convenience if you dont use git. Ofc make backup of your original StarryPy folder.

    Edit: or just lookwhat i changed and import from that manually if youre changing files on your own.
     
  12. Brockway

    Brockway Pangalactic Porcupine

    My question was, can i copy only the files that have been modify in the commit, so i dont have to copie all the file and lost my settings ?
    or i have to download everything and copy manually file by file ?

    Cheers.

    Edit: i will try to get a tutorial on git, seem much more simple to use git instead of zip donwload, if i remenber someone post a tutorial on this thread...

    Edit2: if i edit files manually to translate, that will conflict with git ?
     
  13. NuRRi

    NuRRi Starship Captain

    Hmm just took a look to the console. I get an error with the player greeter:
    Code:
    2014-03-18 18:52:23,805 - starrypy.plugin_manager.PluginManager - ERROR - Error in plugin <Plugin instance: new_player_greeter_plugin (version .1)> with function after_connect_response.
    Traceback (most recent call last):
      File "/usr/local/starrypy/plugin_manager.py", line 165, in do
        res = getattr(plugin, command, lambda _: True)(data)
      File "/usr/local/starrypy/plugins/new_player_greeter_plugin/new_player_greeter_plugin.py", line 19, in after_connect_response
        self.give_items()
      File "/usr/local/starrypy/plugins/new_player_greeter_plugin/new_player_greeter_plugin.py", line 27, in give_items
        give_item_to_player(self.protocol, item[0], item[1])
      File "/usr/local/starrypy/utility_functions.py", line 16, in give_item_to_player
        item_count = int(count)
    ValueError: invalid literal for int() with base 10: 'o'
    
    Any Idea? My config looks like this:
    Code:
            "new_player_greeter_plugin": {
                "auto_activate": true,
                "items": [
                    "coalore",
                    100
                ],
    
     
  14. teihoo

    teihoo Ketchup Robot

    GitHub is a repository, you can only pull from it, unless its your repository / fork. So basically if you modify files on your end, you'll always have to do those modifications yourself when pulling from github, or have git help you merge them, but its not always an easy task. If you download a zip file, or git to some other folder then where you run it, you can do a file compare on the folder, and import changes manually, I personally use Total Commander with built-in Sync Folders tool, but I'm pretty sure you can find other tools to do that. Every change that's made in a commit, can also be viewed on GitHub and you could simply open your local files and do the changes yourself.

    But all in all, there's no CONFIG files in the repository whatsoever, if you just pull to your production folder, it should not overwrite any configs, or player databases or anything that you added to the folders, except for the project files, which are either *.py, *.default (and some more for web_gui plugin, *.html, *.css, *.js .... )

    Actually if you want to contribute to the code, you can make a GitHub account, fork a repository, make changes in new branch and submit a pull request, if you think its something that improves/adds stuff anyone might use.
     
  15. teihoo

    teihoo Ketchup Robot

    Try like this (modeled same as "starter_items":
    Code:
            "new_player_greeter_plugin": {
                "auto_activate": true,
                "items": [
                [ "coalore", 100 ]
                ],
                "message": "Welcome new Starbounder ;)"
            },
    Edit: I had "money", 500 in the config just for that reason, I guess I'll put it back. Unless someone thinks giving ppl 500 pixels is some uber cheating :D
     
  16. Brockway

    Brockway Pangalactic Porcupine

    Since all display text is not include in a single file, i dont know if i translate this version (1.4) i will really help, because 80% of the text that send starrypy is on various files that might change in the future...
    So i fear that i will not really help and make things more complicated.
     
  17. teihoo

    teihoo Ketchup Robot

    Yeah, translating 1.x is a potential waste of time. Carrots did prepare in dev version a translatable system, but it was half done, and some other things were changed in dev version, that I didn't want to keep, as they were semi-done aswell. So i ported essential changes to 1.2.3 version and built from there - and also removing half done translation ability (as it did not much good, but caused more problems). So if you still want to translate the files, just keep a separate file for all the changes you make, so you'll have both orig. text and translation there - for future use. I already fixed most help displays so they wont change much most likely, which means you'll have easy time if you merge file by file and just ignore the translation parts.
     
  18. Crasher

    Crasher Yeah, You!

    Thanks very much for your reply!
    Where do these commands work? I tried using them from within a command prompt. "pypm" appears to by some kind of python command accronym, so perhaps it needs to be used through some kind of python interface / prompt I suspected.
    In the command prompt, as you may already know, "pypm" isn't recognized as an initiating keyword / command

    Edit: I'm gonna try redownloading and reinstalling Python. It was installed to a unique directory outside of programfiles or programfiles (x86), so I'm not sure if I accidentally installed the 64bit Python.
    Nope...currently using the 2.7.6 32-bit Python and unable to begin a command prompt string with the word "pypm"
     
    Last edited: Mar 19, 2014
  19. teihoo

    teihoo Ketchup Robot

    PYPM and PIP will come with Active State Python for windows, make sure you read the README.md on github:
    Download Python
    We'll be using ActiveState python for ease of use. This way you don't have to monkey around with your paths. Just download it from here. Make sure you grab the 32-bit 2.7 version and not the python 3 version; the server will not run on Python 3, nor will it work with the 64-bit version on Windows due to licensing requirements.
     
  20. Brockway

    Brockway Pangalactic Porcupine

    Hi, i dont test claim so far, but i think it would be nice to have a command that mark planet as unclaimable. Maybe protect command already do that ?
    Because i dont really whant people claiming some planets (like spawn).

    Cheers.
     

Share This Page