Popular Content

Showing most liked content since 03/22/2018 in all areas

  1. 5 points
    Alright ladies and gentlemen, since I found this release topic from stormyy about his 'screenshot management tool' and finally got it running with his support I decided to write a little guide about how to set it up. I hope this helps other people and the tool becomes more popular, because it's really epic. I. Foreword The 'screenshot management tool' is a working alternative to Echelon, the known online application to perform moderation tasks on B3 supported servers. For this guide I am using the 'standalone' because I did not try the other one yet. It was set up on a Linux Debian 8 server, so don't expect a guide for windows. I am using the Apache webserver (v 2.4) and had to make it switch between multiple php versions because the website of my gamepanel does not support php 7.1 A little tutorial about how to do that is also included within this guide. To edit config files i used winscp - simply because it's easier to view the files within an editor. The tool is based on 'laravel' which means that it requires to be the root folder of your webserver. II. Requirements Server: SSH access for root and a sudo user PHP 7 or higher Composer Apache2 webserver B3: Enabled plugin: Status Enabled plugin: Chatlogger Tool: The standalone version of the tool itself: HERE The claimplayer plugin for CoD4x: HERE A modified version of nehoscreenshotuploader plugin for CoD4x: HERE III. Preparation 1. Install Composer Login with ssh to a non-root sudo user and update the package manager cache sudo apt-get update To download and run Composer you need 'curl', 'php5-cli' and 'git' sudo apt-get install curl php5-cli git You are ready to install composer now curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer Verify that Composer is correctly installed by checking it's version composer --version 2. Optional - depending on the other websites you are running - Modify apache to make it switch between multiple php versions Install php 5.6 and php7.1 fpm including dev-tools sudo apt-get -y install apt-transport-https lsb-release ca-certificates sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' sudo apt-get update sudo apt-get install libapache2-mod-fastcgi php5.6-fpm php5.6 php5.6-dev php5.6-mcrypt php5.6-mbstring php5.6-mysql php5.6-zip php5.6-gd php5.6-xml php7.1-fpm libapache2-mod-fastcgi php7.1-fpm php7.1 php7.1-dev php7.1-mbstring php7.1-mysql php7.1-zip php7.1-gd php7.1-xml php7.1-curl php7.1-intl php7.1-json php7.1-mcrypt Enable the necessary Apache modules sudo a2enmod actions sudo a2enmod fastcgi Add handlers for both version to your default Apache vhost Add this after <VirtualHost *:80> in /etc/apache2/sites-available/000-default.conf <IfModule mod_fastcgi.c> AddHandler php56-fcgi-www .php Action php56-fcgi-www /php56-fcgi-www Alias /php56-fcgi-www /usr/lib/cgi-bin/php56-fcgi-www FastCgiExternalServer /usr/lib/cgi-bin/php56-fcgi-www -socket /run/php/php5.6-fpm.sock -pass-header Authorization <Directory "/usr/lib/cgi-bin"> Require all granted </Directory> </IfModule> <IfModule mod_fastcgi.c> AddHandler php71-fcgi-www .php Action php71-fcgi-www /php71-fcgi-www Alias /php71-fcgi-www /usr/lib/cgi-bin/php71-fcgi-www FastCgiExternalServer /usr/lib/cgi-bin/php71-fcgi-www -socket /run/php/php7.1-fpm.sock -idle-timeout 1800 -pass-header Authorization <Directory "/usr/lib/cgi-bin"> Require all granted </Directory> </IfModule> <IfModule mod_fastcgi.c> <FilesMatch ".+\.ph(p[345]?|t|tml)$"> #Uncomment the SetHandler you want to use by default #SetHandler php56-fcgi-www #SetHandler php71-fcgi-www </FilesMatch> </IfModule> In the same file add a new directory definition for the site which later uses the non-default (second) php version In the default config this belongs below the part which defines the 'DocumentRoot' folder. Alias /example "/var/www/html/example/" <Directory "/var/www/html/example/"> <FilesMatch ".+\.ph(p[345]?|t|tml)$"> #Uncomment the SetHandler with the opposite php version #SetHandler php56-fcgi-www #SetHandler php71-fcgi-www </FilesMatch> </Directory> Save and restart apache service apache2 restart 3. Enable mod_rewrite for Apache Enable the modules and restart apache sudo a2enmod rewrite sudo mkdir -p /var/run/apache2 sudo chown -R www-data /var/run/apache2 sudo a2enmod actions service apache2 restart Enable the forwarding within the default Apache vhost in /etc/apache2/apache2.conf Change 'AllowOverride' from None to All <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride NONE Require all granted </Directory> 4. Download and install stormyys 'screenshot management tool' Change the directory to var/www/ cd /var/www/ Download the tool via composer as a non-root user! composer create-project stormyy/b3cod4x-standalone Update the files via composer (as a non-root user!) just in case. cd /var/www/b3cod4x-standalone composer update Depending on the user you have used to download stormyys tool you might have to change the owner/group and the permissions of the files and folders. Edit the config (hidden .env file) which is located in the root folder of b3cod4x-standalone !If your APP_NAME contains spaces you have to put it into double quotes! !DB_DATABASE is a new database which will be auto-generated - THIS IS NOT YOUR B3 DATABASE! APP_NAME="B3 Webinterface (by Stormyy)" APP_ENV=local APP_KEY=THIS_IS_AUTOGENERATED_BY_THE_TOOL APP_DEBUG=false APP_LOG_LEVEL=debug APP_URL=http://www.mywebsite.com DB_CONNECTION=mysql DB_HOST= DB_PORT=3306 DB_DATABASE=my_NEW_database_name DB_USERNAME=my_database_user DB_PASSWORD=my_database_password Migrate the required tables for the database php artisan migrate Change the DocumentRoot within the default Apache vhost config /etc/apache2/sites-available/000-default.conf to DocumentRoot /var/www/b3cod4x-standalone/public Save and restart apache service apache2 restart Move all your public files (websites, fastdl etc.) to /var/www/b3cod4x-standalone/public else they will not work anymore! 5. Optional - Adjust the permissions for the different b3 groups - This will affect the website of the tool only, not b3 in general! - Edit the config b3cod4x.php within the config folder 'screenshot' => 8, //Ability to take a screenshot 'remove' => 128, //Ability to remove server 'unban' => 32, //Ability to uban 'setrank' => 64, //Ability to set rank 'ban' => 32, //Ability to ban 'chat' => 32 //Ability to chat These are the available values - do not edit them: * Permission groups: * Superadmin = 128 * Senioradmin = 64 * Fulladmin = 32 * Admin = 16 * Moderator = 8 * Regular = 2 * User = 1 * Guest = 0 6. Download the CoD4x plugins 'claimplayer' and 'nehoscreenshotuploader' (links in II. Requirements) and upload them to the plugins folder of your server. 7. Head to your b3 plugins and edit the config for the chatlogger: Enable 'save_to_database' 8. Now edit the config of the status plugin: interval: 10 (Refreshes 10 seconds, same as the panel) enableDBsvarSaving: yes enableDBclientSaving: yes svar_table: current_svars client_table: current_clients 9. Enable the b3 plugins 'status' and 'chatlogger' within the config of your b3 bot and restart b3. IV. First use of the tool 1. Change the Admin Credentials Navigate to your website and login with the default credentials Username: admin@admin.com Password: ChangeMeFast When you are logged-in click on 'Super Admin' and 'My Account'. Change the credentials and save them. 2. Add your b3 server and follow the instructions on your screen about what to add to your server.cfg It tells you to add something similar to this to your server.cfg set nehoscreenshot_identkey your_personal_ident_key set nehoscreenshot_url "http://www.yourwebsite.com/b3/screenshot" loadplugin nehoscreenshotuploader loadplugin claimplayer 3. Once you have added the stuff to your server.cfg execute the server.cfg to load the plugins. 4. Claim your player to gain admin access The claimed player will only gain access to the admin functions when he is a member of a b3 admin group - Moderators are only able to capture and view screenshots by default - After your first login you will notice a big red panel asking you to claim your player. Click this button and you will receive a random code you have to write in chat on the server. /claimplayer 12random34and56so78on90 Copy this text, including the slash and connect to your server. Paste the text into the chat and send it. If the plugin was enabled correctly your text should not be visible. Instead a command will be executed which is visible as a colorized text bottom left. CONGRATULATIONS - YOU ARE READY TO USE THE TOOL V. Used Sources Composer install guide: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-composer-on-debian-8 Multiple PHP Setup: https://packages.sury.org/php/README.txt https://medium.com/@sbuckpesch/run-multiple-php-version-on-the-same-server-using-php-fpm-and-xdebug-on-ubuntu-16-04-6a84f5b7d7ce
  2. 2 points
  3. 2 points
    Already a battleroyal server, but dead on release as cod4 isn't popular enough to get regular players + mod was rushed so it's lacking some features like dead zone. https://www.gametracker.com/server_info/
  4. 2 points
    Script model is an entity placed using GSC `spawn` function. Brush model is a map entity which is placed on map using Radiant. With scripts you can not spawn brush models but you can find one and move/rotate/delete it with script. Brush models are commonly used as moveable collision. For example, bombsite: it exist on SD game mode but getting deleted shortly after map started on WAR game mode. I repeat, you can not spawn just any brush model you want, but you can find one on a map and clone it as much as you want (almost ). This is how care packages in MW2 works: developers just added one simple prefab for all collideable stuff on a map. Of course, you can create map with just one plate and with script brushmodels of different sizes. And then build your map with your friends like in minecraft.
  5. 2 points
    call a vermin exterminator maybe?
  6. 1 point
    as i dont know the rest of the code, just add that somewhere in an init function level.randomcolour = (1,0,0); for anything exceeding that, please take the time to read the script guide if you feel remotely able to understand it first https://docs.cod4x.me/modding/scriptingguide/quickstart.html
  7. 1 point
    I have taken a look into the script of the finalkillcam, it's calls and the way the calls are managed. The killcam is registered within the Callback_StartGameType() function of the _globallogic.gsc Personaly i would either thread the registration or move it to the end of the function, but this shouldn't make a difference. The call happens only within the endgame function (when an s&d round ends, or when the map is over), nothing wrong here. I can't find anything wrong within the scripts of the finalkillcam itself either. Is the problem already happening before the first finalkillcam was played, or is it coming up after?
  8. 1 point
    ROFL, Im definitely going to have to play around with this on my own server!
  9. 1 point
    It doesn't mean script not working if you don't know how to install it. Now go and learn.
  10. 1 point
    32-bit application just shit from high tower on your 16gb of RAM.
  11. 1 point
    DPJ, bro tell me pls wher i must add this script? void Com_InitSmallZoneMemory( void ) { int s_smallZoneTotal = 1024 * 1024; // bk001205 - was malloc smallzone = calloc( s_smallZoneTotal, 1 ); if ( !smallzone ) { Com_Error( ERR_FATAL, "Small zone data failed to allocate %1.1f megs", (float)s_smallZoneTotal / ( 1024 * 1024 ) ); } Z_ClearZone( smallzone, s_smallZoneTotal ); return; } void Com_InitZoneMemory( void ) { cvar_t *cv; int s_zoneTotal; // allocate the random block zone cv = Cvar_RegisterInt("com_zoneMegs", DEF_COMZONEMEGS, 8, 64*1024*1024, CVAR_LATCH | CVAR_ARCHIVE, "Amount of main zone memory allocated - needs to be increased when Z_Malloc fails"); s_zoneTotal = cv->integer * 1024 * 1024; // bk001205 - was malloc mainzone = calloc( s_zoneTotal, 1 ); if ( !mainzone ) { Com_Error( ERR_FATAL, "Zone data failed to allocate %i megs", s_zoneTotal / ( 1024 * 1024 ) ); } Z_ClearZone( mainzone, s_zoneTotal ); Cmd_AddCommand("zonememinfo", Z_PrintHeap_f); }
  12. 1 point
    modes.gsc try this
  13. 1 point
    i dont answer pms decrease the amount of used strings, cvars or increase the size of the small zone https://github.com/callofduty4x/CoD4x_Server/blob/b8fafeb254760d4231b46c249448a562b0cc528b/src/qcommon_mem.c#L169
  14. 1 point
    I think all legal claims could be a good PR move for cod4x community and cod4 itself
  15. 1 point
    Yes it is a bug in server which will not evaluated by me anymore as a new version is almost ready which is totally incompatible on objectcode level to the old version.
  16. 1 point
    there is a handful of bugs that crash the servers once in a while. the stable release is still 2055 and not 2066 or whatever later version.
  17. 1 point
    Hmm, then i can't help you sorry. Maybe the file permission/ownership is not correct.
  18. 1 point
    I found a work around to this problem but if steam goes back to http you will have to re-edit the file This worked for me and I hope it works for others in steamauth.php look for $ptn you should find a line $ptn = "/^http:\/\/steamcommunity\.com\/openid\/id\/(7[0-9]{15,25}+)$/"; change the http to https and as I said it allows me to relog in under my steam name and have full access hopefully it will work for you.
  19. 1 point
    READ THIS FIRST: First you need to create a texture atlas. A texture atlas is a image that contains the all the images you want for your animation. If you are confused just google it and you will understand. The animation starts from the top left image to the bottom right image. Make sure each images is the same size. Here us mine. When adding your images into asset manager you will see 'Texture atlas settings' This is how many rows and columns of images you have in your texture. After converting your material in asset manager open effects editor. When you have added the sprite into the effects editor underneath the visuals tab you will see 'sequence controls' Here you edit the settings for animation. Start frame: Fixed frame: Choose which frame you want the fx to start on Random: Starts on a random frame Indexed: Starts on the first frame(?) Play Rate: Fixed FPS: How many frames get played per second Sync to particle lifetime: Don't know what this does Loop: Forever:Animations loops forever (during the fx life) Choose how many times you want it to loop. Some examples of stuff you can do: If you need any help feel free to ask.
  20. 1 point
    Well there are other issues. Especially map related ones. IzNoGod tried it long time ago when PUBG was the game everyone was playing. Problem started with the map. Polygon limit? I think he was limited to 3 x 3 km. Every tree he placed was an entity. Which the game has only 1022-128 available. Item spawn points are entities as well. Atm. there is still an aliasing issue on large maps which could be fixed. For server queues it is better to use external website.
  21. 1 point
    It depends on the mod running on the server. Of course you can simply write down the URL of the fast download and download all the files with your browser. I used to do that with custom maps. But if the server is running custom scripts, which are not inside the mod.ff or a downloadable *.iwd then you won't be able to run them on your own server.
  22. 1 point
    sorry cannot help you on cod5
  23. 1 point
    there is no start.exe in b3 but there is a b3.exe in the windows version however in the python version I made a start.bat for my system which contains b3_run.py -c /b3-1.9.2/b3/conf/b3.xml
  24. 1 point
    if he wants to use the cod4x parser he will need the python version of B3
  25. 1 point
  26. 1 point
    separate the cod4 and codwaw server, must be. there is start.exe, or you can install a python version as well.
  27. 1 point
    just like the original version, all client side yes, if you add that switch. there is rank unlockers and highxp servers for that.
  28. 1 point
    https://github.com/dexus0412/xcf/blob/master/duffman/_languages.gsc#L129 Change the outstring to your hostname. Seems to be the issue.
  29. 1 point
    Brotip: install torrent on the vps, and download.
  30. 1 point
    https://cod4x.me/ if you want the full game -> buy it
  31. 1 point
    I believe my computer is bugged, I am continually killed by hackers what can I do to clean my pc?
  32. 1 point
    Be aware, if the water hot, you might be cook your CPU!
  33. 1 point
  34. 1 point
    No. Script models have no brush models.
  35. 1 point
    Most of vehicles are just xmodels + static brushes which can not be found using scripts (brushes are getting compiled into BSP tree in performance purposes.)
  36. 1 point
    I wouldn't agree more, and that's what I did Just a basic apache http server in the docker-compose.yml
  37. 1 point
    I run my zombie server 64 slots by putting this in my server config set sv_maxclients "64" // MAX server player slots of course that does the same as +set sv_maxclients 64 but makes my command line shorter by having it in the server config
  38. 1 point
  39. 1 point
    i've published one quite a while ago already: https://hub.docker.com/r/callofduty4x/cod4x18-server/ including multiple applications into one container kinda breaks with the principles of docker. if you attempt combining the server with a http server and what not that should imho happen in a separate container and be combined with docker compose
  40. 1 point
    Thank you for posting this link. It works GREAT. I made some small modifications but it does the job well.
  41. 1 point
    Thanks all for your answers ! In the end, all the following work: ./cod4x18_dedrun.exe +map mp_crash ./cod4x18_dedrun.exe +map_rotate ./cod4x18_dedrun.exe +exec server.cfg +map_rotate (with the server.cfg in the root of the cod4x server) However, giving too many arguments as I did OR the map at the beginning of the arguments results in a failure.
  42. 1 point
    Connect and enjoy our server With New Experience By leiizko it's a New Server and working for it more be interesting Name : Sgc | gaming TDM (INDIA) Ip:
  43. 1 point
    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 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 Regular registered users can take screenshots via the page, this can be disabled backend or limited to x screenshots / hour If u enable screenshots for regular users they can send cheater reports with 1 click 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 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 Rcon commands can be added backend with required power to execute them Admin groups can be created, deleted Users can be added as admins, we can choose on which server if we have more then 1 server usermaps images can be uploaded, deleted Realtime shoutbox for admins separated and for all registered users Some faq pages, content can be added Server rules for each server separated can be changed backend 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
  44. 1 point
    havent tried .. but even cod4x18_dedrun.exe +map_rotate should work i think.
  45. 1 point
    I tried this and was able to connect to my test server on windows 7 cod4x18_dedrun.exe +exec server.cfg +set net_port 28960 +map_rotate note the server.cfg in the line its loacated in the main directory of cod4x here is a basic server.cfg adjust it to suit your server with a text editor without a server config file your server will listed as a cod4host server.cfg
  46. 1 point
  47. 1 point
    like the music and cool to watch
  48. 1 point
    b3/config/plugin_customcommands.ini here
  49. 1 point
    spawnTestCrate() { crate = spawn("script_model", (-1164, 34, 16)); crateCollision = spawn("script_model", (-1164, 34, 44)); crate setModel("com_bomb_objective"); coll = findScriptBrushModel(); if (!isDefined(coll)) { self iprintlnbold("Collision model not defined!"); return; } crateCollision cloneBrushModelToScriptModel(coll); crateCollision.angles = (0, 90, 0); // map-related. crateCollision linkTo(crate); }
  50. 1 point
    It must exist on map. A bombsite at least. Brushmodel is the invisible one, collision. On my video I just got first of found entities with bombsite script_gameobjectname (set in Radiant prefab) findScriptBrushModel() { ents = getEntArray("script_brushmodel", "classname"); suitableBrushModels = []; for (i = 0; i < ents.size; i++) { bmodel = ents[i]; if (isDefined(bmodel.script_gameobjectname) && bmodel.script_gameobjectname == "bombzone") suitableBrushModels[suitableBrushModels.size] = bmodel; } iprintlnbold("suitable bmodels: " + suitableBrushModels.size); return suitableBrushModels[0]; }