kharidiron / starrypy3k Goto Github PK
View Code? Open in Web Editor NEWThis project forked from starrypy/starrypy3k
StarryPy on Python3k
License: Other
This project forked from starrypy/starrypy3k
StarryPy on Python3k
License: Other
Add emote commands to chat window (/me (dance)
and things like that.)
Allow members of the same party to talk privately with each other.
In addition to what the title says, some players say they experience lag spikes from time to time. Though I'm not sure if this is due to Starbound itself or StarryPy3k, I thought this might be worth mentioning.
At the very moment a player said he was having a lag, StarryPy3k's log read as follows.
http://pastebin.com/srt4Nf8U
Just a simple MarkDown file, or a page on the website enumerating the different commands that are available, and how to use them, grouped by role.
If possible, have a dictionary that will check chat for cussing or rude words.
No more need to patrol chat for cussing etc.
Also allow the plugin to reload when adding new dictionary words on the fly.
So a user crashes or the game kicks them out for what ever reason.
They then can't log back in as the error is along the lines of "As user is logged in already"
Can't not kick the player and the command doesn't reply either.
Reap time set to 1
Plugin to aid in the process of backing up planets players have done work on.
Thanks a lot for keeping this tool updated!
I tried running StarryPy3k on my server. It seemed StarryPy3k did launch, but whenever one of my character tries connecting to it, it shows "Joine failed" No server response" on Starbound client.
Here're logs of starbound_server and StarryPy3k.
(starbound_server log)
http://pastebin.com/paQ8YMut
(StarryPy3k log)
http://pastebin.com/d2tF4ser
(Misc. information)
Server IP:192.168.10.200
Client IP:192.168.10.100
Server OS: Ubuntu server 16.04 LTS
Python version: 3.5.2
Starbound server version: Unstable, release date 2016/7/20
I'll shortly be submitting a PR with a more complete example configuration file (and updating the README
to reflect this), hopefully removing the needed step of starting and killing the proxy before being able to properly configure it.
I ran the latest StarryPy3k for approximately 1 hour. After some players experienced disconnection, their names are shown with [-1] prefix on /who command. Admins report they tried to kick those "ghost" players so they could join back, but they couldn't.
http://i.imgur.com/XGz1Wbg.png
The debug.log is pretty much long so I will try to reproduce this for a short period of time.
Hi,
Since Starbound 1.0.3 hit, I saw some planetary chat messages appear in universe chat, having no time stamps.
The snippet below is the log right after one "should-be" planetary message showed in universe chat.
I can't find a way to do this - is it possible to setup default roles for users?
IE if i want to give everyone planet protect functions in addition to the general commands.
If this is already possible please close this issue.
Plugin to greet new players, and provide them with some started items.
2016-09-20 19:03:34 - WARNING - starrypy.plugin.chat_enhancements # Sender [user] is sending a message that the wrapper isn't handling correctly
http://stackoverflow.com/questions/30854576/ensure-future-not-available-in-module-asyncio
I was need to correct it
Query how long the StarryPy server has been running.
Cute, non-essential plugin.
Announce (to everyone on a planet) when a new person arrives on the same world.
This is a highly optional plugin, so I'm far less worried about getting it done soon.
I would like to protect my custom instance worlds and things like the outpost.
People are going nuts on it and crashing the server with an immense amounts of items on the floor.
Let users claim a planet for building.
Should tie into the planet protect system.
This will require a bit of work, so pushing it off for now.
Currently, a player with an unknown (modded) species joining a server will cause the server to effectively crash. This bug has persisted through at least three minor versions of Starbound and a thread regarding the bug has sat for over 3 weeks.
Until ChuckleFish addresses this issue, the ability to whitelist species via the wrapper could be quite helpful.
A working proof of concept can be found here but it should be taken with a grain of salt. It appears to work fine but it was written by someone with very little knowledge of python.
Hi,
It appears StarryPy3k's RAM usage has risen again since Starbound 1.0.3 hit. It is not as severe as before, but I saw python3 was using up 1.0 GByte of RAM after 3 hours of operation. During that operation, StarryPy3k logged almost 200 connections received and 60 errors.
As a side note, the server has been having a minor connection hiccups since Starbound 1.0.3. I am not sure if this is due to either StarryPy3k or Starbound. Starbound itself is eating up to 8 GByte of RAM after 3 hours of operation, with almost 30 logged errors.
Hi,
It seems like what we do with /protect command won't save when StarryPy3k quits.
The last night we protected a few ships and planets and added a few players to their builder list. After restarting both StarryPy3k and Starbound, all the protection were gone.
Concerning the un-ban command. If you unban via IP, the next reboot, the person is banned again. You must unban via the original name that was banned.
While planet protect is already in and working, the setting on it is a bit restrictive; it blocks all on_entity_interact packets. This leads to people not being able to sit in chairs, use teleporters, open doors, etc.
When using /me the end result comes up in universal chat.
Please make it so that the /me shows up in the current players chat status (E.G. local/universal)
Sanitize player names always/upon join and when using /nick
remove coloring ^.*;
remove duplicate spaces
remove special/typeable characters (Limit to alphanumeric?)
maybe truncate name length
Currently, once a user is promoted, there is no way to demote/remove roles from them.
Using /promote (lower rank) (username)
does not work.
Attempting to use .universe
and .local
commands in IRC to send messages to the game results in the following excepting being thrown:
AttributeError: 'MockPlayer' object has no attribute 'alias'
2016-08-01 16:54:48 - ERROR - starrypy.plugin.command_dispatcher # Unknown exception encountered. Ignoring.
Traceback (most recent call last):
File "/home/steam/src/StarryPy3k/plugins/command_dispatcher.py", line 131, in run_command
connection)
File "/usr/lib/python3.5/asyncio/coroutines.py", line 209, in coro
res = yield from res
File "/home/steam/src/StarryPy3k/plugins/chat_enhancements.py", line 182, in _local
sender = self._decorate_line(connection)
File "/home/steam/src/StarryPy3k/plugins/chat_enhancements.py", line 98, in _decorate_line
connection.player.alias)
AttributeError: 'MockPlayer' object has no attribute 'alias'
As of version 1.1, Starbound now includes local and party chat by default, so it is no longer necessary to include local chat in the wrapper.
Chat commands for moderators, announcement/alert system, and moderator notification.
Since this hooks to the permissions system, and not specific packets, it should be relatively easy to implement.
Hello,
I kicked my own character from the server using /kick. As you mentioned the client crashed, and whenever I try joining again on that kicked character, the game says "Player is already logged in." and won't let him in.
Here's the StarryPy3k log snippet.
2016-07-21 11:04:27,467 - WARNING - starrypy # Initializing connection. 2016-07-21 11:04:27,468 - INFO - starrypy # Received connection from 192.168.10.100 2016-07-21 11:04:27,468 - DEBUG - starrypy # New connection established. 2016-07-21 11:04:27,502 - INFO - starrypy.plugin.player_manager # Known player is attempting to log in: Usiemon 2016-07-21 11:04:27,502 - INFO - starrypy # Removing unknown player. 2016-07-21 11:04:27,503 - ERROR - starrypy # Client loop exception occurred: 2016-07-21 11:04:27,503 - ERROR - starrypy # Server loop exception occurred:CancelledError:
I prefer not to kick players off of my server if I don't have to, just to upgrade Starbound or the proxy.
It would be helpful to add an owner or admin command to tell StarryPy to no longer accept new player connections until either told otherwise or it is restarted. That way, server admins can flip this switch, and when the last connected players leave of their own volition, the service(s) can be updated and restarted.
Bonus points for either or both of giving a configurable message shown to rejected clients, or for managing the MOTD and in-game broadcasts.
Move a players ship to a designated world (hopefully free of cost).
If someone added a user/pass to their starbound server, starrpy misses important bits, and users cannot connect.
Chat bot bridge for DIscord. Putting it as a goal for 1.1.
Hello,
The latest commit seems running so far, but my owner character can not use /kick command.
The debug.log reads as follows:
2016-07-20 15:54:31,577 - ERROR - starrypy.plugin.command_dispatcher # Unknown exception encountered. Ignoring. Traceback (most recent call last): File "/home/usiemon/StarryPy3k/plugins/command_dispatcher.py", line 131, in run_command connection) File "/usr/lib/python3.5/asyncio/coroutines.py", line 209, in coro res = yield from res File "/home/usiemon/StarryPy3k/plugins/player_manager.py", line 763, in _kick if not p.logged_in: AttributeError: 'NoneType' object has no attribute 'logged_in'
I guess I must add a Starbound server user like we do in the plain StarryPy, but what name should that user have?
This will allow for implementing most updates without a full-on server restart. I've seen this done with other similar Python projects, so it should be doable. I will look into the specifics of the implementation.
You can whois a user based on their ID.
Would be good if we could whois an IP to bring up the relevant information as well
If one plugin can loop into another, the general in-game chat plugin that catches emotes should check to see if irc_bot
is active, and if so, send a mock chat message to the relay that emulates in-game actions/emotes.
ERROR asyncio Task exception was never retrieved
future: <Task finished coro=<IRCPlugin.send_message() done, defined at /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/coroutines.py:204> exception=AttributeError("'ServerFactory' object has no attribute 'factory'",)>
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/tasks.py", line 239, in _step
result = coro.send(None)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/asyncio/coroutines.py", line 206, in coro
res = func(_args, *_kw)
File "/Users/rparsons/Workspace/PyCharm/Projects/StarryPy3k/plugins/irc_bot.py", line 249, in send_message
broadcast(self.factory, "IRC: <{}> {}".format(nick, message))
File "/Users/rparsons/Workspace/PyCharm/Projects/StarryPy3k/utilities.py", line 298, in broadcast
connection.factory.broadcast(_messages, *_kwargs))
AttributeError: 'ServerFactory' object has no attribute 'factory'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.