NeHo

Upcoming CoD4x-WebaAdmin (older CoD4 Status version)

Recommended Posts

I need your opinion, tips, recommendations on the upcoming CoD4x-WebaAdmin application.

The current beta version is similar to the previous CoD4 Status version, the difference is in authentication and admins management (no steam group required). Admins have to be added manually after they sign up.

Here is a list of some futures what is included for now

  1. User Authentication, local, google+, facebook (later on i will include twitter, github and steam), all accounts can be linked so if u have admin rights it doesn't matter which authentication u use
  2. Regular registered users can take screenshots via the page, this can be disabled backend or limited to x screenshots / hour
  3. If u enable screenshots for regular users they can send cheater reports with 1 click
  4. Admins with required power can check this reports and decide what happens next (ban or remove report), the user who sent the report will be informed automatically with auto messages. If we ban based on the cheater report user who sent the report will be mentioned on the cheater report page
  5.  Banned players can send a ban appeal, if the admin decide to keep the ban, unban request will be disabled for that ban in future
  6. Rcon commands can be added backend with required power to execute them
  7. Admin groups can be created, deleted
  8. Users can be added as admins, we can choose on which server if we have more then 1 server
  9. usermaps images can be uploaded, deleted
  10. Realtime shoutbox for admins separated and for all registered users
  11. Some faq pages, content can be added
  12. Server rules for each server separated can be changed backend
  13. I almost forgott, screenshots :)

Now my question(s) :)

1.

Since node.js requires a vps/dedicated server would it be a good idea to manage game servers to via the status page, I was thinking about https://github.com/GameServerManagers/LinuxGSM We could make them play together, so if we create a game server we could also create it on the status page. We could then manage the game server via the status page (start, stop, restart etc etc). Of corse in this scenario we could make things faster since we could read everything from the log files without rcon connections. later on i could also create an admin tool like manuadmin, b3 bot and it could be also created all together with gameserver and status page with 1-2 clicks

I always rented game servers host so if this is a bad idea let me know pls

Ofc if u have some tips, future requests let me know in comments so we can improve this new app in the future

i will share a beta version in 1-2 days here with install instructions, later on i will upload it to github

  • Like 1
  • Thanks 3
  • Haha 1

Share this post


Link to post
Share on other sites

Looking at LinuxGSM I think it would be great for non windows servers but for people like me it would be worthless since my server is windows based.

I do use the b3 bot and phprcon to manage the server so your admin tool that you are thinking about would be of interest.

Share this post


Link to post
Share on other sites

so, are you going to create all in one CoD4X management system. thats cool.

7 hours ago, NeHo said:

I need your opinion, tips, recommendations on the upcoming CoD4x-WebaAdmin application.

all screenshots data should be saved and loaded from DB instead of parsing file's content (cod4x plugin + your parser bot as an option)

Share this post


Link to post
Share on other sites
5 hours ago, volkv said:

so, are you going to create all in one CoD4X management system. thats cool.

all screenshots data should be saved and loaded from DB instead of parsing file's content (cod4x plugin + your parser bot as an option)

Yes all in one is what I would like to achieve. Saving data to the database is the slowest process, in my opinion we should only save data to db if we create a cheater, ban report otherwise we can parse the files directly from the game server and output it

Share this post


Link to post
Share on other sites
12 hours ago, wkuzma said:

Looking at LinuxGSM I think it would be great for non windows servers but for people like me it would be worthless since my server is windows based.

I do use the b3 bot and phprcon to manage the server so your admin tool that you are thinking about would be of interest.

How do you manage your game servers in windows, manually or do u use something similar to TCAdmin

Share this post


Link to post
Share on other sites
43 minutes ago, NeHo said:

Saving data to the database is the slowest process, in my opinion we should only save data to db if we create a cheater, ban report otherwise we can parse the files directly from the game server and output it

Maybe you got me wrong? I dont suggest to store media files in DB. Only links and meta.

At the beginning I used screenshots the same way as your cod4status tool (parsing whole file). It was greatly loaded the filesystem (CPU also) and server execution time (for a page with 100 screenshots) was about 1 second. Then I've optimized script a bit by telling PHP to parse only first 200 bytes of file. In this case loading time became like half of second. Better but still bad.

So now I store all screenshots links (and meta) in DB and page loading time is less than 0.1 second for 400 images.

Share this post


Link to post
Share on other sites

I will store the screenshots in mongodb as base64 with parsed metada in future.

I don't remember how I made it in the php version, i think that I parsed the jgp file on the server details page (thats wrong you are right, it was my first approach), i think that I understand you now.

This beta version is working exact as you wrote, the data is saved to mongodb with link to the image when the post data arrives (data what screenshot plugin sends)

Share this post


Link to post
Share on other sites
59 minutes ago, NeHo said:

when the post data arrives (data what screenshot plugin sends)

yep I got it. good.

what I do is using small cod4x plugin which catch screenshot arrive event and logprint (to games_mp) simple line with all SS meta and link, and then read it with my admin tool.

Share this post


Link to post
Share on other sites

I think that I will not need a plugin if the game server is on same location as the cod4 status, node can handle this, i can simply watch for any changes inside screenshots folder

Share this post


Link to post
Share on other sites
4 hours ago, NeHo said:

How do you manage your game servers in windows, manually or do u use something similar to TCAdmin

1. I have a gsx script that automates the taking of screen shots

2. I also use phprcon to manually control the server (when I am home)

3. I use B3 to monitor the server (also allow admins to kick or ban when they are in the server)

4. I use your first version of cod4x status to view the screen shots and ban as necessary.

5. as for starting or stopping server that has to be done manually.

 

Share this post


Link to post
Share on other sites

6. I also use Echelon to show the bans of b3 but don't like that fact it does not show screen shots as cod4x status does.

Share this post


Link to post
Share on other sites

I'll look deeper in B3 after we do the basic stuff. I would like to keep the status page as close as possible to stock cod4x

Share this post


Link to post
Share on other sites

Be aware that this is a Beta version, not fully tested yet

CoD4x-WebaAdmin Application built using Node.js, Express, Mongoose, Socket.io & Passport.

Beta version, i will change it in the next relase, i hope that i can keep the DB structure for the next relase so it should work after upgrade.

Installation

Running Locally

Make sure you have Node.js (https://nodejs.org/), MongoDB (https://www.mongodb.com/) and npm (https://www.npmjs.com/) installed.

1. Unzip the application to your directory

2. Install Dependencies from application root

$ npm install

3. Facebook & Google+ Authentication (you can change this later on in config.json, this is not required to run the app)
You need to register a new application on both Facebook and Google+ to get your tokens by which users can grant access to your application, and login using their social accounts. (Get your `Consumer Key`, `Consumer Secret`.)

4. Configuration
Navigate to app/config/config.json and modify it


5. Fill your MongoDB database with data, Seed

From app root

cd app/seed
node dbseed.js

A default admin user with maximum 100 power will be created, delete this user after you sign up and set yourself as admin with 100 power

Default Admin:

username: admin
email: admin@gmail.com
password: password


6. Start the application from app route
Go to app root from app/seed with next command

cd ../..

Run the server

$ npm start

Server is runing on port 3000

7 Navigate to http//localhost:3000 and Sign up

8 Logout and sign in with Default Admin creditians

9 Go to Admin/Registered Users and click on the username to set yourself as admin (change to power 100), and after that relogin with your own account and delete the default (Admin) user

beta-cod4x-webadmin.zip

Share this post


Link to post
Share on other sites

Make sure you have Node.js (https://nodejs.org/), MongoDB (https://www.mongodb.com/) and npm (https://www.npmjs.com/) installed.

Maybe I am missing something here or just do not understand

I found only the node.js downloadable  the others mongodb and npm seems that they are controlled

by their respected  companies and you have to sign up to use them. Please correct me if I am mistaken on what I understood.

 

Share this post


Link to post
Share on other sites
59 minutes ago, wkuzma said:

Maybe I am missing something here or just do not understand

npm

Quote

npm is distributed with Node.js- which means that when you download Node.js, you automatically get npm installed on your computer.

mongodb

windows

https://www.mongodb.com/download-center#production

ubuntu

https://docs.mongodb.com/master/tutorial/install-mongodb-on-ubuntu/

Share this post


Link to post
Share on other sites

Since this is a beta version i have not explained install instructions in details. I am still thinking about details, structure since i would like to make it usable in 2 scenarios, when your game server is on the same host and when you host the game server on another host.

When you host the game server on the same host as the application then you don't need the screenshot sender plugin since you can read everything from the game server directories, same goes for online players (volkv shared a solution for that) and there are also other things what we don't need in that scenario.

But I also have to think about game server owners who rent a game server, or run them on another server, in that case I need to connect with rcon to get server info, screenshot plugin is required in that case... etc

 

I am still not sure how to make the whole thing, have to think about it, any suggestion is welcome

If u need any help related to the beta version let me know here

Share this post


Link to post
Share on other sites
3 hours ago, Explosive said:

Waiting for a Well Explained Tutorial :P 

(Check my pm )

I read your private message, I do not want to help anyone privately (especially not through teamviewer), there is a forum for that. If in future any body else get stacked as you then he can find an answer here on the forum. Install node and mongodb, if u have problems with mongodb settings let me know I will help you, create a new post or write it here. If u have trouble with the application, copy the log from console share it here and I will help, just don't send PM's I will not answer them

Share this post


Link to post
Share on other sites

Nice!

Few tips:

Many people buy cod4 servers so in my opinion a plugin would be better. (neho.dll / neho.so)

Not Everyone uses linux (like me) so if you could make a windows version it would be good.

 

Very Impressive BTW

 

Share this post


Link to post
Share on other sites

npm ERR! Linux 3.10.0-862.3.3.el7.x86_64
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "start"
npm ERR! node v6.14.3
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! CoD4x-WebaAdmin@1.0.0 start: `node ./bin/www`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the CoD4x-WebaAdmin@1.0.0 start script 'node ./bin/www'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the CoD4x-WebaAdmin package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node ./bin/www
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs CoD4x-WebaAdmin
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls CoD4x-WebaAdmin
npm ERR! There is likely additional logging output above.

Share this post


Link to post
Share on other sites
On 01. 03. 2018. at 7:39 PM, NeHo said:

I read your private message, I do not want to help anyone privately (especially not through teamviewer), there is a forum for that. If in future any body else get stacked as you then he can find an answer here on the forum. Install node and mongodb, if u have problems with mongodb settings let me know I will help you, create a new post or write it here. If u have trouble with the application, copy the log from console share it here and I will help, just don't send PM's I will not answer them

Can you gelp me install mongodb and node.js please ?

Share this post


Link to post
Share on other sites

is NeHo still alive? xD Just went back and looking for a new tool (rn using just an image viewer)

Share this post


Link to post
Share on other sites

I respawned recently :) Still an work in progress. I use the new version but have to fix some parts after that i will share it

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now