Page 1 of 1

AdminServ-Neo [Current Version: 3.0.0-b1]

Posted: 21 Jan 2018, 04:01
by Chris92
Image
❗❗❗ IMPORTANT - BETA NOTICE ❗❗❗
This is an unfinished product and comes without any warranty. I will update it throughout the next days and weeks and fix bugs as I see them getting reported. Not intended for production release, please keep that in mind! I'm not to be held accountable for any issues this might cause you.
❗❗❗ IMPORTANT - BETA NOTICE ❗❗❗

What is AdminServ-Neo?
AdminServ-Neo is your favorite web-based RPC tool for ManiaPlanet servers.
From adding maps, changing match settings to keeping an eye on current players, AdminServ-Neo is here for you and allows you almost limitless control.

Features

Permission-based access - Full control over who can do what on which server
ManiaPlanet authentication - No sharing of SuperAdmin passwords, yay!
Extendable - Know Laravel? Then you can write plugins for this!
Mania-Exchange support - Add maps quickly without having to upload any files
Update notifier - If there's a new update for AS-Neo, it'll let you know - not yet implemented

Current Requirements
  • MySQL/MariaDB - any recent version should do
  • Composer
  • Apache web server
  • PHP 5.6.4 or newer
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • MySQLi PHP Extension
Install Instructions
  1. Generate a subdomain for AdminServ-Neo -- e.g. dev.adminserv.xyz
  2. Download the latest .zip file from GitLab and upload it to your server. Extract it in the DocumentRoot of your newly generated subdomain - e.g. /var/www/vhosts/dev.adminserv.xyz/httpdocs
  3. Navigate to the base directory of AdminServ-Neo (e.g. /var/www/vhosts/dev.adminserv.xyz/httpdocs) and execute php composer.phar install
  4. Rename .env.example to .env (Linux: mv .env.example .env - Windows: Rename the file to .env.)
  5. Execute php artisan key:generate (if you get an error, I'm assuming your php version is too old, check the requirements!)
  6. Edit the subdomain and point the directory root to /path/adminserv-neo/public
  7. MOD_REWRITE HAS TO BE ENABLED ON APACHE FOR ADMINSERV-NEO TO WORK (check Apache modules in your panel to enable it)
  8. Create a MySQL database - character set utf8mb4 - collate utf8mb4_bin
  9. Navigate to https://insertyour.vhosturlhere.tld
  10. Complete the setup in your browser
FAQ


❓ Wait, what's different compared to AdminServ?

AdminServ-Neo is a complete rewrite and reimagination of AdminServ!
Based on Laravel 5, this gives us a solid ground for everything we wanted to do and potential for more features in the future.
Since we started from scratch, we decided to drop support for any prior TrackMania titles that aren't part of the ManiaPlanet environment, sorry!

❓ I found a bug, how can I report it?

Please open an issue on Gitlab with as much information as possible, preferably reproduction steps and stacktraces.

❓ Where can I follow the development?

Join the official AdminServ-Neo Discord Server or follow the official Twitter account

❓ I like this project, can I support its development somehow?

You can support the continued development process by either creating pull requests for features you added yourself or buy me a beer!

Credits
Reaby - did most of the heavy lifting to get this rewrite off the ground. You're awesome, dude, thanks so much!
ChargerHellcatDallas - thanks for your generous tip!
to be continued

Download
Go get it over on GitLab and download the source code as .zip file.

Re: AdminServ-Neo [Current Version: 3.0.0-b1]

Posted: 21 Jan 2018, 04:23
by Chris92
KNOWN ISSUES AND LIMITATIONS FOR 3.0.0-b1

- Password reset is untested, may or may not be broken!
- Clicking your Name in the menu bar throws an error because the /profile endpoint does not exist yet.
- Some pages might have a broken CSS (like the Server Roles overview and editing)
- Adding/editing/assigning per-server roles is currently not possible (to be added in Beta 2)
- There is currently no way to fix see the amount of planets a server holds or to pay them out to a player
- SFTP only works if your Linux-based server allows password authentication
-> No support for public key authentication, this is a limitation of the plugin used and won't be supported
- The /server/{id}/overview endpoint is cluttered and looks like a mess, this will be cleaned up and split into sub-pages in the next beta

TO ALL SERVER CONTROLLER DEVELOPERS
There were some talks a few months ago if you were interested in custom callbacks from AdminServ when an admin does something, especially for things the dedicated doesn't report or where a full query would be too expensive resource-wise, like adding maps to the server (having to query full map list and check for new entries is too bothersome).
If you have any suggestions for what I should add, let me know! Also, I'm not going to implement your custom SDKs just to let your controller know what happens on AdminServ ;) So let's get some standards defined ;)

Re: AdminServ-Neo [Current Version: 3.0.0-b1]

Posted: 21 Jan 2018, 19:34
by Chris92
Changelog 2018-01-21
No new major version, just bugfixes for b1!
  • Fixed composer install failing on PHP 7.1 (fault was in Laravel/Laravel requiring newest version of packages that aren't compatible with older PHP versions)
  • Server overview now works correctly when server is online (oops, this was the result of me adding a new feature last minute without testing)
  • Fixed back buttons throwing you to the server list instead of the overview
  • Added missing back buttons to Maps list
  • Fixed ManiaPlanet OAuth2 not working out of the box (to fix execute the following command in the AS-Neo base directory)

    Code: Select all

    php artisan config:clear
  • Increased font weight to make everything more legible
  • Added grey background to server name in Server Status panel for improved legibility of white server names
  • Removed link on Username in the top navigation to not redirect to a currently non-existing page
Files affected:
app/Helpers/ManiaplanetProvider.php
app/Http/Controllers/Setup.php
public/css/style.css
resources/views/layouts/menuapp.blade.php
resources/views/server/ajax/quickControls.blade.php
resources/views/server/ajax/serverInfo.blade.php
resources/views/server/index.blade.php
resources/views/server/manage/maps.blade.php
resources/views/server/settings/gameInfos.blade.php
resources/views/server/settings/scriptSettings.blade.php
resources/views/server/settings/serverOptions.blade.php

How-To Update: Download the latest .zip file from GitLab (see main post) and replace the aforementioned files.

Re: AdminServ-Neo [Current Version: 3.0.0-b1]

Posted: 22 Jan 2018, 15:37
by Chris92
Changelog 2018-01-22
- Fixed a mishap in composer.json that made php composer.phar install fail miserably.

Affected files
./composer.json

If you don't want to download the latest .zip file just to replace one file, then change Line 18 from

Code: Select all

"paragonie/random_compat":"1.2.*",
to

Code: Select all

"paragonie/random_compat":"1.4.*",

Re: AdminServ-Neo [Current Version: 3.0.0-b1]

Posted: 24 Jan 2018, 20:13
by Miss
I've splitted the German support posts to this thread, to keep the German posts inside of the German forum. Thanks! :thumbsup:

Btw, nice project! It's good to see you working on this again! :D

Re: AdminServ-Neo [Current Version: 3.0.0-b1]

Posted: 27 Jan 2019, 22:39
by Chris92
Beta 2 is incoming end of next week (Beginning of February)
- Don't have a diff changelog as it's been so long since Beta 1 ( sorry :? )
- Will require a full re-install / database wipe, due to permission management changes

WILL NOT INCLUDE
- Working file browser: This one will take a bit longer as it requires substantial front- and backend work
- Sorting map list, in fact, map list is currently gone completely as I work on File Browser and Maplist management, dubbed Map Manager v2.0
WILL INCLUDE
- Planets management
- Reworked PER SERVER roles management, assignable to each user, fine grained controls to each setting (this is just groundwork, I've not rewritten the auth system yet to accomodate this, if things broke, this is why)
- A Twitter feed for @AdminServ on the /home endpoint. (this is temporary as I try and figure out what to put here :oops: )
- LOCALIZATION (English, German for now) - sign up in #localization channel in the Discord server to translate AdminServ to your language
- A way to edit your own profile (change email, password, UI language, ManiaPlanet login, etc)
- Nifty chat messages on the server when stuff is done via AdminServ (like uploading maps, planets payout, kicking player, etc)
- Probably a few broken things, let me know :D