Jump to content

Roy

Banned
  • Posts

    2,853
  • Joined

  • Last visited

  • Days Won

    383

Posts posted by Roy

  1. On 5/27/2018 at 5:20 AM, 03Gaming said:

    Hi there, 

     

    I am wondering if you could help me a little bit. I am trying to open a Garry's Mod server on my VPS. I have installed Pterodactyl but I am a bit lost with the Garry's Mod variables. I am wondering if there is anyway you could help me by sending the:

     

    -Slots Variable and startup command

    -Workshop Variable and startup command

    -Gamemode Variable and startup command

    -Authkey Variable and startup command

    -Tickrate Variable and startup command

     

    I know this is a lot and sorry to ask, but it would help me massively since I dont know where to find any of that infomation.

    Hey @03Gaming,

     

    I apologize for the delay. I just noticed this was replied to.

     

    1. The maximum players variable would be maxplayers. You can only set this in the command line and can do so by adding +maxplayers <num> to the command line. You can also set sv_visiblemaxplayers in a config file. The server will be seen at the sv_visiblemaxplayers value but people can still connect via console if the maxplayers value is higher than sv_visiblemaxplayers
    2. The workshop variable is host_workshop_collection. You can set this in the command line with the following +host_workshop_collection <workshop ID>. More information can be found here.
    3. The Gamemode variable is just gamemode. I personally set this in the autoexec.cfg. However, you can also set it by adding it to the command line with +gamemode "<gamemode>".
    4. The Auth key variable is -authkey. You can only set this in the command line with -authkey <authKey>.
    5. The tickrate variable is -tickrate. You can only set this in the command line with -tickrate <tickRate>.

     

    If you want me to add these as individual variables through Pterodactyl, please let me know. I can create a Nest for you, export it, and send it to you. You can also make variables yourself by going to the AdminCP -> Nests -> <choose a nest>. Click on an Egg and go to Variables. You can add variables through there and add them to the command line with {{Environment Variable Value}}.

     

    Here's an example command line I have in Pterodactyl for one of our Garry's Mod servers:

     

    ./srcds_run -game garrysmod -ip {{SERVER_IP}} -port {{SERVER_PORT}} +maxplayers {{GMOD_MAXPLAYERS}} -debug -condebug +host_workshop_collection {{GMOD_COLID}} +gamemode {{GMOD_GAMEMODE}} +r_hunkalloclightmaps 0 -tickrate {{GMOD_TICKRATE}}

     

    I hope this helps! Again, I'm very sorry about the delay.

     

    Thanks!

  2. Another update,

     

    CS:GO Zombie Escape was moved to the new machine with one minor issue caused by the move process.

     

    I am waiting to move GMod TTT 1.

     

    I have contacted the CEO of NFO. What I am thinking of doing is purchasing a new machine that will be an upgrade from the old one. Currently, the old machine has the Intel Xeon 1270v5 @ 3.6 GHz. The machine I want to purchase in replacement to the old machine has an Intel Xeon 1275v6 @ 3.8 GHz in it.

     

    With that said, there will be an one-time installation fee of $99. But due to the installation fee, it will actually be $10.00/m less than what we pay for the old machine ($164.98/m is what we will pay, we currently pay $174.98/m for the current machine). In my opinion, this will benefit us more. Especially considering we plan on keeping this machine for over a year at least.

     

    I am waiting to see how long it will take to get the machine setup. If it can be set up by tonight, I will be moving all servers over to it and cancelling the old machine.

     

    I will reply to this thread once I receive an update.

     

    Thanks!

  3. Just an update, I have triggered the move for CS:GO ZE this morning. However, it still hasn't completed. I have open a ticket with NFO just to check on the status of the move (we've had moves get "stuck" in the past).

     

    The machine has to compress all the server files (addons, maps, etc.) and I would assume this is above 10 GBs. Unfortunately with the machine performing poorly already, I'm sure it will take a while for it to compress everything.

     

    Thanks.

  4. 6 minutes ago, PB-n-J said:

    The heads up is much appreciated.

     

    Once the issue at NFO is resolved, I'm assuming the server files will be moved back to their original machine? Is it accurate to state that given the amount of files for said servers, this should all be resolved by this coming Sunday(pending everything goes according to plan)?

    I believe that is what will happen. And yes, I am hoping it is resolved by this upcoming Sunday. I expect to have it moved back by Wednesday to be honest (if they install the new PSU tomorrow).

     

    Thanks.

  5. Hello,

     

    I just wanted to inform everyone about an ongoing event that started occurring on June 24th. I've been posting updates on the public GFL Discord. However, I never got around to posting them on the website. I apologize for this.

     

    Early Sunday morning, one of our NFO machines started experiencing high CPU usage and poor performance. We noticed our stock servers (no custom addons, etc.) consuming more CPU as well. Therefore, we opened a ticket with NFO thinking this is either an issue with the machine or some sort of attack (we've had attacks that aimed for the OS and affected all servers on the machine in the past).

     

    In the afternoon, we received the following update from NFO:

     

    2273a22bf24172.png

     

    This was the cause to the higher CPU usage and poorer performance we are experiencing.

     

    After I found this out, I requested to move two popular servers (CS:GO Zombie Escape and GMod TTT 1) to a temporary machine. Unfortunately, the temporary machine wasn't set up until early this morning. I also asked what the ETA was for the new PSU and they told me they won't install it until probably tomorrow.

     

    Due to the ETA being one day from now and the issue already going on for over twenty-four hours, I decided to start moving our CS:GO Zombie Escape and GMod TTT 1 servers to the temporary machine. I try to stay away from moving big servers like this because there are a lot of files and we've had corrupted moves in the past (which are a hassle to resolve). However, the servers are almost unplayable at this point and I don't want to keep them this way for any longer.

     

    I have already triggered the move of CS:GO Zombie Escape and will be triggering the move of GMod TTT 1 soon afterwards. It takes time for these moves to complete since the machine has to move everything over. I will continue to give updates on these moves as progress is made.

     

    I apologize for this inconvenience. When I played GMod TTT 1 yesterday and saw the server FPS at a steady <5 FPS, I was disgusted.

     

    I am hoping these server moves will go smooth without any major issues and downtime. I will reply to this thread as I make progress and receive updates.

     

    Thank you for understanding.

  6. Hello,

     

    While I was messing around with the IPS 4 API, I decided to make a "demo" version of what this project would be. Keep in mind I made this within 30 minutes or so and everything is manually coded in. If I were to make an actual application, everything would be automated and look better than it does right now. With that said, I would make major style changes as well to make the form look better.

     

    I am using IPS 4's "wizard" module to do this.

     

    http://g.gflclan.com/2216b9bc012cb8.mp4

     

    Step 1

    2218ead5cb5cde.png

     

    Step 2

    2219fa6561af28.png

     

    Step 3

    2220086e893a11.png

     

    Step 4

    2221715dd0b5f5.png

     

    Step 5 (Final)

    2222b6ed91b150.png

     

    Watch the MP4 video listed above to see more options. I also used my donation system's page for this since it was a small demo. The wizard module in IPS 4 is buggy and I have to work on improving it. I already made a custom function to fix a bug with the wizard module (see below for code).

     

    As for the text areas, when I decide to make this application, I will be using the editors. The reason I didn't use it in the demo is because they're more advanced than I thought and will require more work from my end (e.g. creating a separate extension to handle any attachment uploads). I also want to make it so if there are no further steps required, it automatically submits it when you move to the next step. However, this will require altering how the wizard module works which more than likely will be tricky.

     

    Here's the full code for this demo from the donation page:

     

    <?php
    
    
    namespace IPS\rds\modules\front\donations;
    
    /* To prevent PHP errors (extending class does not exist) revealing path */
    if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
    {
    	header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
    	exit;
    }
    
    /**
     * donate
     */
    class _donate extends \IPS\Dispatcher\Controller
    {
    	protected $internalURL;
    	/**
    	 * Execute
    	 *
    	 * @return	void
    	 */
    	public function execute()
    	{
    		
    		parent::execute();
    	}
    	
    	public function _step1($data)
    	{
    		// Reset the form one step one because ya know, IPS 4 doesn't do it this and it fucks EVERYTHING up.
    		$this->resetWizard();
    		
    		$form = new \IPS\Helpers\Form("step1", "Continue");
    		$form->class = "ipsForm_vertical";
    		
    		// Lolzzzzzzzzzzzzz
    		$form->addTab("tab1");
    		
    		$help = new \IPS\Helpers\Form\Select("help", "0", TRUE, Array
    		(
    			'options' => Array
    			(
    				'0' => "Being a part of a team.",
    				'1' => "Other"
    			)
    		));
    		$help->label = "Type";
    		$help->description = "What type of help would you like to do?";
    		
    		$form->add($help);
    		
    		if ($values = $form->values())
    		{
    			return $values;
    		}
    		
    		return $form;
    	}
    	
    	public function _step2($data)
    	{
    		$form = new \IPS\Helpers\Form("step2", "Continue");
    		$form->class = "ipsForm_vertical";
    		
    		$form->addTab("tab1");
    		
    		if ($data['help'] == 0)
    		{
    			// Team box.
    			$team = new \IPS\Helpers\Form\Select("team", "0", TRUE, Array
    			(
    				'options' => Array
    				(
    					'0' => "Server Admin",
    					'1' => "Media",
    					'2' => "Developer"
    				)
    			));
    			$team->label = "Team";
    			$team->description = "Which team would you like to be a part of?";
    			
    			$form->add($team);
    		}
    		else
    		{
    			// Add text area.
    			$other = new \IPS\Helpers\Form\TextArea("other", "", TRUE, Array
    			(
    				'placeholder' => "Write what you'd like to help us with. Please be as specific as possible.",
    				'rows' => 15
    			));
    			$other->label = "Help";
    			$other->description = "What would you like to help us with?";
    			
    			$form->add($other);
    		}
    		
    		if ($values = $form->values())
    		{
    			return $values;
    		}
    		
    		return $form;
    		
    	}
    	
    	public function _step3($data)
    	{
    		$form = new \IPS\Helpers\Form("step3", "Continue");
    		$form->class = "ipsForm_vertical";
    		
    		$form->addTab("tab1");
    		
    		if (isset($data['other']))
    		{
    			$form->addMessage("No additional options. Please hit continue.");
    			
    			// Have to add this, otherwise it won't move onto the next step.
    			$form->hiddenValues['tmp'] = "Alrightyyy";
    		}
    		else
    		{
    			// Server Admin.
    			if ($data['team'] == 0)
    			{
    				$server = new \IPS\Helpers\Form\Select("server", "0", TRUE, Array
    				(
    					'options' => Array
    					(
    						'0' => "CS:GO Arena",
    						'1' => "CS:GO Zombie Escape",
    						'2' => "GMod CWRP",
    						'3' => "FoF #1"
    					)
    				));
    				$server->label = "Server";
    				$server->description = "What game server would you like to apply for?";
    				
    				$form->add($server);
    			}
    			// Media team.
    			elseif ($data['team'] == 1)
    			{
    				// Part.
    				$part = new \IPS\Helpers\Form\Select("part", "0", TRUE, Array
    				(
    					'options' => Array
    					(
    						'0' => "GFX",
    						'1' => "Advertising",
    						'2' => "Video Editing"
    					)
    				));
    				$part->label = "Part";
    				$part->description = "What part of the media team would you focus on?";
    				
    				$form->add($part);
    				
    				// Skills.
    				$skills = new \IPS\Helpers\Form\TextArea("skills", "", TRUE, Array
    				(
    					'placeholder' => "Describe your skills for the part you chose."
    				));
    				$skills->label = "Skills";
    				$skills->description = "What skills do you have in the part you selected?";
    				
    				$form->add($skills);
    			}		
    			// Developer team.
    			elseif ($data['team'] == 2)
    			{
    				// Part.
    				$languages = new \IPS\Helpers\Form\TextArea("languages", "", TRUE, Array
    				(
    					'placeholder' => "What coding languages do you know?",
    					'rows' => 15
    				));
    				$languages->label = "Languages";
    				$languages->description = "What coding languages do you have experience in?";
    				
    				$form->add($languages);
    			}
    		}
    		
    		if ($values = $form->values())
    		{
    			return $values;
    		}
    		
    		return $form;
    	}
    	
    	public function _step4($data)
    	{
    		$form = new \IPS\Helpers\Form("step4", "Finish");
    		$form->class = "ipsForm_vertical";
    		
    		$form->addTab("tab1");
    		
    		if (isset($data['other']))
    		{
    			$form->addMessage("No further actions necessary. Please hit finish.");
    			
    			// Have to add this, otherwise it won't move onto the next step.
    			$form->hiddenValues['tmp'] = "Alrightyyy";
    		}
    		else
    		{
    			if ($data['team'] == 1 || $data['team'] == 2)
    			{
    				$form->addMessage("No further actions necessary. Please hit finish.");
    				
    				// Have to add this, otherwise it won't move onto the next step.
    				$form->hiddenValues['tmp'] = "Alrightyyy";
    			}
    			
    			if (isset($data['server']))
    			{
    				$why = new \IPS\Helpers\Form\TextArea("why", "", TRUE);
    				$why->label = "Why Accept You?";
    				$why->description = "Why should we accept your game server application? Be as specific as possible.";
    				
    				$form->add($why);
    			}
    		}
    		
    		if ($values = $form->values())
    		{
    			return $values;
    		}
    		
    		return $form;
    	}
    	
    	public function _step5($data)
    	{
    		return \IPS\Output::i()->output = "Your application has been submitted!!!<br /><br />" . print_r($data, true);
    	}
    	
    	// Custom function made by roy da boy.
    	protected function resetWizard()
    	{
    		unset($_SESSION['wizard-' . md5($this->internalURL) . '-step']);
    		unset($_SESSION['wizard-' . md5($this->internalURL) . '-data']);
    	}
    
    	/**
    	 * ...
    	 *
    	 * @return	void
    	 */
    	protected function manage()
    	{
    		$this->internalURL = \IPS\Http\Url::internal("app=rds&module=donations&controller=donate");
    		
    		$wizard = new \IPS\Helpers\Wizard(Array
    		(
    			'rds_step1' => Array($this, '_step1'),
    			'rds_step2' => Array($this, '_step2'),
    			'rds_step3' => Array($this, '_step3'),
    			'rds_step4' => Array($this, '_step4'),
    			'rds_step5' => Array($this, '_step5')
    		), $this->internalURL, TRUE, NULL, TRUE);
    		
    		\IPS\Output::i()->output = $wizard;
    	}
    	
    	// Create new methods with the same name as the 'do' parameter which should execute it
    }

     

    If you have suggestions, please post them!

     

    Thanks!

     

  7. 1 hour ago, Rcool64 said:

    I think if we do this, we should have some sort of security to the account other than just a steam link. This is going to lead to many steam accounts connected to GFL, so we might need to have more firewalls or something just to keep those accounts safe.

    Users are required to sign-in through Steam to link the Steam account and linking the same Steam account is currently not possible as far as I'm aware. I don't see any security risk doing so.

     

    Thanks.

  8. Hello,

     

    I just wanted to throw out this idea to all team members to see what they thought about this. I discussed this with @Darkling yesterday along with a couple other ideas and he liked it.

     

    At the moment, I feel it's somewhat a mess to apply for a position. Whether the position would be Developer, Media, or just regular Server Admin or Member (I have a different plan for members, though). For example, to apply for Developer and Media, you have to hover under the "GFL" tab. For Server Admin, you have to go to the server's individual sub-forum and make an application manually. And finally, for member you have to hover over "Servers" which is in a different category than the other applications making it more confusing in my opinion. Though, this can be fixed if we organized the nav-bar.

     

    What I would like to do is code an IPS 4 application that merges all the applications into one page and form. The name of the page at the moment would be "Help GFL", but I think this is likely to change and would like suggestions. This form would act like the current form used with the donations application. Here's the link to the donation application. This form uses "steps". Meaning, you configure the first step and then click continue and fill out the second step, etc.

     

    First Step

    On the first step, there would be one select box which would consist of the following:

     

    Title - What Do you want to help with?

    1. Being a part of a team.
    2. Other.

     

    We can likely add more options to this. After the first step is completed, the next step would bring up the following depending on the options.

     

    Second Step

    On the second step, a list of options will be displayed depending on what you selected on the first step.

     

    Option 1

    Title - Which team would you like to be a part of?

    1. Server Admin.
    2. Media.
    3. Developer.

     

    Option 2

    This option (Other) would be used for people who want to help out in GFL that doesn't include being a part of a team. For example, if somebody wants to help advertise GFL, they use this option and fill it out. It would only consist of one big text box asking what they want to help with. There are no further steps if this option is selected.

     

    Third Step

    The third step will depend on which options you selected for Option 1 from the last step.

     

    Option 1

    A nice and organized list of all game servers in GFL will pop up. The user will be able to select one server they want to apply for. This option will require a fourth step.

     

    Option 2/4

    Additional forms required for the team application will be displayed. This is the last step of the application.

     

    Fourth Step

    As of right now, the Server Admin option is the only option that will require a fourth step. Generic and server-specific forms will be displayed on this step. This is the last step.

     

    Submission

    After the last step is completed, the form will be submitted to it's appropriate location depending on the configured options. We will more than likely create an IPS 4 database that consist of "categories" for each section needed. Each game server will have its own category under the the game's category. I will ensure this is organized but we will likely be creating our own database code unless if we can implement this into the official IPS 4 database application.

     

    Flexibility

    If we code this application, I would like it to have as much flexibility as it can. This means we'd be able to add any form we'd like along with as many steps as we'd like while doing the least amount of manual work as possible. This could do A LOT for us if developed correctly.

     

    That's it! Like I said, I'm up for suggestions. I believe this could organize a lot of the current applications.

     

    Thanks!

  9. 47 minutes ago, Ben Roy said:

    We should try custom maps on GFL L4D2 servers. I'm thinking, something popular? 

     

    Also, it would be awesome to see if the slot gets increased. It's possible.  

    I'm eventually going to set up 10v10 player servers (versus) and probably a 20 - 24 slot COOP server.

     

    These type of servers in Left 4 Dead are what got me into PC gaming. So I enjoy setting them up even though they're a pain to do so.

     

    Thanks.

×
×
  • Create New...