STeeL

Contributors
  • Content count

    11
  • Joined

  • Last visited

  • Days Won

    2

STeeL last won the day on May 21

STeeL had the most liked content!

About STeeL

Profile Information

  • Gender
    Male
  • Location
    Minsk
  • Interests
    Programming

Profile Fields

  • My Project
    Warheim(http://warheim.net)

Recent Profile Visitors

28 profile views
  1. Site build on laravel 5.4 blog app. It's using own DB + communicate with Intersect DB via WebApiPlugin which released in other topic:
  2. In my previous topic I released support for plugin injection and WebApiPlugin, now I am releasing website(based on laravel 5.4 blog) Features: News Registration on site will register ingame account Displaying online on site(updating each 5 minutes) Live example: http://89.223.26.226/ Live example server work as sandbox, so everyone who register receive admin rights in game How to setup it(Linux(Ubuntu/debian)) 1) download archive http://89.223.26.226/intersect-web.zip 2) apt-get install nginx php7.0-fpm php7.0-curl php7.0-mcrypt 3) phpenmod mcrypt 4) phpenmod curl 5) place archive in /var/www 6) execute: apt-get install unzip 7) change directory to /var/www (cd /var/www) 8 ) execute unzip intersect-web.zip 9) copy all files/directories from intersect-web directory to /var/www 10 ) remove directory /var/www/html 11) change /etc/nginx/sites-available/default 12) service nginx restart 13) change directory to /var/www 14) change config in .env file(should change DB_* vars and SERVER_API(url to WebApiPlugin, should change only if key is different) 15) execute: php artisan migrate 16) execute: sudo chown -R www-data:www-data /var/www 17) execute: chmod 755 public/images 18) execute: chmod 755 public/uploads
  3. UPDATE 21/05/2017 Changes Removed static injection library(custom DB support working too bad, so I removed it, waiting for source code) WebApi plugin now reading prefix from config Added two new commands: http://localhost:8081/?k=test&a=reg&u=username here&p=password here&e=email here&c=1 (will make check registrartion request), http://localhost:8081/?k=test&a=info& return current online This changes done to support basic web site(which I am going to release) Download: http://89.223.26.226/Server.zip
  4. Actually decompiling full source code is not my way(yep I done something like this 2 years ago with another project, but if you decompile something you should be ready to fix lots of errors), to support plugins I am injected one method which load assembly plugins/STInjector.dll: STInjector.dll source avaibale(look into first post) Another point is implementing custom database engine support, this part was a bit tricky. First I decompiled class Database(fortunately it's decompiled without errors), than I created class SQLiteEngine (which contains code very same to original Database class) and MySQLEngine inside new dll (libs/server/STStaticInjection.dll). In server executable I am only patched Database class so it's work with IEngine interface(which implemented by SQLiteEngine and MysqlEngine classes) all this code available at my update post. You can access whole Intersect server classes/methods which are public You can get any information about user by calling inner intersect methods, example:
  5. yes malicious code can be added to plugins and even to server, fortunately it's C# assemblies, so everyone can easily check code with help of any decompiler(ilspy or dotpeek or .net reflector for example)
  6. Ok, so I done with mysql support(I am tested only basic features like registering, creating character etc., so other features should be tested) PMA screenshot SOME IMPORTANT INFO mysql database support is not tested good enough there is no migration tool to convert existing sqlite db to mysql db(use this only for new projects) you still can use sqlite with this server version(just change database.xml to use sqlite) tested with 5.6.17 - MySQL Community Server HOW TO USE IT download patch files unpack patch files to the server root create new mysql database & change database config (<server root>/resources/database.xml) launch server(tables should be created automaticly) FOR DEVELOPERS code of database implementation is open source, so you can just change, compile and replace STStaticInjection.dll in <server_root>/libs/server/ you can implement other DB engines (or even make ODBC) support based on this example plugins can now use JSON.NET, this dependency added to Intersect Server assembly PLUGIN CHANGES webapi now return json result (for registering status codes are: 0 - success, 1 - invalid username, 2 - invalid email, 3 - account already exists, 4 - email in use) Download link(uploaded to mega.co.nz because i can't attach big files on forum): https://mega.nz/#!VfxFTbYT!uq5ulAjqd7M6sqHe920pzeH1ZpmnCC2ycoisR1iyVKw Source code: https://mega.nz/#!ZSYVDRiZ!-1rJYUe5nFifrZWPhvUXXan9txBWxu34CHt6q-_ku7M P.S I am actually don't know whether mysql is really needed for beta version of server, but I think that for big projects better to use it rather than sqlite
  7. Thanks) I will create more advanced version with json responses(it would be much better for developers) later. I also have plans to make this server support mysql database(but not sure if I have time to do this)
  8. Well, it's only creating account, not character(but I think character creation is also possible). It's work exactly as server(my plugin injecting into server side code, and call "CreateAccount" procedure(you can see it in source attached to first post))
  9. Right, i'am changed to listen only localhost.try this link http://localhost:8081/?k=test&a=reg&u=username here&p=password here&e=email here
  10. WebApiPlugin.zip
  11. So, today I saw this topic and decided to make a small addon to Intersect server, which can load C# plugins, so anyone can make some server addons(like web service for registering accounts) The first simple version with source and precompiled binary is attached to this post. Currently I've wrote only 1 plugin that allows you to register account via web service. UPDATED VERSION WITH MYSQL SUPPORT How to use addon: download archive, unpack Intersect Plugin Loader.zip to server root run patched server Intersect Server.Patched.exe How to use example plugin: open url http://localhost:8081/?k=test&a=reg&u=username here&p=password here&e=email here This is very basic version, you can write more advanced plugins with help of this example P.S sorry for my bad english bundles.zip