Giter Site home page Giter Site logo

steam's Introduction

BRANCH OVERVIEW
===============

steam-2.9-source is an archive of the original unmodified source that our server is built with.
societyserver-devel is the build that we are currently running made from that source.

because there is no official public steam repository at the moment, we are
collecting our patches in a repository in our binary-build, so that they can be
merged into a steam source repository at a later time.

societyserver-source is a branch with our patches merged on top of steam-2.9-source

steam-packages contains the old sTeam webinterface

any other branches are temporary and should be ignored.

steam's People

Contributors

embee avatar martin-ekita avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

steam's Issues

enable exporting of a single object

$ ./export-to-git.pike /sources/rest.pike /tmp/export-rest-test/
Connecting to sTeam server...
Password for [email protected] [steam]: *********
On branch Jul-29-10-06-33-2015

Initial commit

nothing to commit (create/copy files and use "git add" to track)
Switched to a new branch 'Jul-29-10-08-37-2015'
fatal: pathspec '.' did not match any files
Couldn't open "/tmp/export-rest-test//root/sources/rest.pike": No such file or directory
/usr/local/pike/7.8.700/lib/modules/Stdio.pmod/module.pmod:2370:    Stdio->write_file("/tmp/export-rest-test//root/sources/rest.pike","inherit \"classes/Script\";\n#include <database.h>\n#include <classes.h>\n\nstring execute(mapping vars)\n{\n    werror(\"WE WON'T REST\");\n    mapping data"+[3291],438)
export-to-git.pike:99: /main()->git_add(mapping[5],"/tmp/export-rest-test//root/")
export-to-git.pike:185: /main()->export_to_git(127.0.0.1:1900/rest.pike+(#1004,/classes/DocLpc,529,source/pike,1 Instances, ({ /kernel/proxy.pike(1005/PSTAT_SAVE_OK), })),"/tmp/export-rest-test//root/",,,0)
export-to-git.pike:141: /main()->main(5,({"/usr/local/lib/steam/tools/export-to-git.pike",0,0,"/sources/rest.pike","/tmp/export-rest-test/"}))

this should export only the history of /sources/rest.pike

The login authentication in commandline does not work correctly.

The verification mechanism used in the client.pike in order to authenticate the user does not work correctly.
In case of a root user, if no password is entered, yet the system will login into the steam-shell.
However if a wrong password is entered, the system works correctly by not allowing access to the user.
In case of any other user, the mechanism fails as it is not able to login even if the correct password is entered.

object_to_path function in filepath.pike doesn't work for rooms.

  • Doesn't work for rooms
    (/home/gpname - returns void)
    (/home/gpname/room - returns /home/gpname)

command: _Server->get_module("filepath:tree")->object_to_path(OBJ("/home/coder"))
result : "/void/" (faulty)

command: _Server->get_module("filepath:tree")->object_to_path(OBJ("/home/coder/newroom"))
result : "/home/coder/" (faulty)

This first "return /void/" might be faulty : https://github.com/eMBee/sTeam/blob/societyserver-devel/server/modules/filepath.pike#L423-L437

include export source in branchname

if #8 is fixed to create a new independent branch, this would allow multiple exports to live in the same repo. since git is capable of handling that, it would be quite convenient. to help distinguish the branchen, we would then need more descriptive names:

export-to-git.pike /sources/ /tmp/export-test/

should create the branch sources-date or even <hostname>-sources-<date>

Add the functionality to open files from inside vim

Once we are use the edit command from steam-shell or edit.pike we are inside vim editor. This feature allows us to open new file for editing without exiting vim. The new file opens in a new tab in the same terminal.

Integrate sTeam-shell into Vi

It means the ability to write sTeam code in a vim buffer, and have a command to send the code to the server, run it, and get results back.
consider this:

 foreach(OBJ("/home/steam")->get_inventory();; object item){ if(item->get_identifier()[0..4]=="hello"){ item->set_attribute("OBJ_NAME", item->get_identifier()[5..]); }else{ object newroom; if(!OBJ("/home/steam/item->get_identifier()+".r")){ newroom =create("Room", item->get_identifier()+".r"); item->move(newroom); newroom->move(OBJ("/home/steam")); }}}

The above command can be executed in a shell, but it's impossible to read and edit where as iin a vim buffer, it could nicely formated and executed.

export and import need options to map user ids

sometimes it is useful to change the user ids on export or import.
an option should be added to allow specifying mappings from sTeam userids to name-email pairs.

such a mapping should probably be specified in a file (since it will be reused), and the file given as argument.

Error while creating Container in steam-shell

When trying to create a new container using the steam-shell it asks How would you describe it? On entering anything it shows Wrong command.|| maybe some bug. This needs to be fixed.
Steps to recreate

  1. Run the server.
  2. run steam-shell.pike in /tools folder.
  3. run create Container.
    it shows How would you describe it?
  4. enter any text.
    output: Wrong command. || Maybe some bug.

Steam-shell.pike exits abruptly after using the edit command.

In the applauncher.pike, the upload function has an exit callback. This callback is triggered every time the edit command is called from with in the steam-shell.pike. This leads to closing of the steam-shell.pike. Also this callback is necessary for edit.pike script to exit properly.

export should support multiple source arguments

if the last argument is always the target repository then any number of previous arguments can be sources.

the usecase is for example to export all custom files in /sources/ but ignore other files.

export should start with an empty commit.

the first commit to a new repo should be an empty commit without any commit message (or a message like "sTeam export-to-git") with an author and committer of root root@localhost, and a timestamp of 0 (1.1.1970, the start of unix time)

this should make the initial commit always the same hash, and if different servers export the same history to the same users, they should get the same git history

Failed to find libxslt library.

The ./configure file is not able to find the libxslt.so files.
The files in most probability will be present in the directory usr/lib/i386-linux-gnu or /usr/lib/x86_64-linux-gnu.

Edit.pike hangs on closing.

When edit.pike closes, commandline hangs.
This behaviour should be prevented.
On exit the program should be closed and unix terminal must be accessible to the user.

move() function for objects should not accept strings

obj->move("/home/coder") should not work. Currently, it returns 1. This issue is connected to issue #4 .

Correct working should be only accepting path objects as parameters. Passing file,container objects gives error. so that is fine. Only string arguments is a problem.

import-from-git should work for single documents

./import-from-git /gitfolder/x.txt /home/coder/ - should create x.txt in /home/coder/

./import-from-git /gitfolder/x.txt /home/coder/y.txt - should create y.txt in /home/coder/ with the contents of x.txt.

Indexing the NULL value using 'set_content'

The import fails and gives the above error.
The object values are getting set after the execution of the command.
Running the command again would set the content of that file and would throw the same error for the next file in the import list.
error1

export-to-git should create missing directories

$ ./export-to-git.pike /sources/ /tmp/export-test/
Connecting to sTeam server...
Password for [email protected] [steam]: *********
Process.create_process(): chdir() failed. errno:2
-:1: _static_modules.Builtin()->create_process()->create(({"git","status"}),mapping[1])
export-to-git.pike:123: /main()->git_init("/tmp/export-test//root/")
export-to-git.pike:178: /main()->export_to_git(127.0.0.1:1900/sources(#216,/classes/Container,3,59 objects),"/tmp/export-test//root/",({127.0.0.1:1900/home(#41,/modules/home,16391)}))
export-to-git.pike:141: /main()->main(5,({"/usr/local/lib/steam/tools/export-to-git.pike",0,0,"/sources/","/tmp/export-test/"}))

this should create /tmp/export-test/ instead of failing.

in fact, it should fail if the directory already exists and contains something else than a sTeam export.

Delete a user.

Add the utility to delete a user. Only root user should be able to delete a user.

edit command does not work properly in steam-shell.

when using edit command from steam-shell, we are unable to type in the vim window. It works fine when the edit script is used independently. This is mostly because the pike command line terminal is in different state from the outside. One possible solution is to open vim in a new window.

Improve help

A more elaborate help is needed that shows all the available commands and the syntax and use of each.

Steam-shell.pike does not work when arguments like username etc are passed.

The steam-shell.pike was modified during it's integration inside vim. The steam-shell.pike supports execution of commands which are passed to it as arguments. But when the arguments like user name, host name or port number are supplied to the steam-shell.pike it doesn't work now.
Support for them must be added.

when updating an export, check if the same thing is being exported

it is possible to do:
export-to-git.pike /sources/ /tmp/export-test/
followed by
export-to-git.pike /home/sTeam/ /tmp/export-test/

this results in a branch being created based on the export time, with the history of the second export being added to the history of the first.

to fix this, check if the export source is actually the same.
if it is different, create a new branch that is not based of the old branch, or refuse exporting.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.