Left 4 Dead 2
No hay suficientes valoraciones
Tutorial for a prepared dedicated server L4D2 (windows)
Por bd
especialy for how to prepare a survival map
   
Premio
Favoritos
Favorito
Quitar
Warning!!!!
Too laborious to update the guide here.
The updated version can be found here

https://forums.alliedmods.net/showthread.php?p=2020516#post2020516
0.0 ChangeLog
27/04/2013 added video section 2.3
27/04/2013 added video 1 section 3.1
27/04/2013 added video 2 section 3.1
29/04/2013 added one step in section 2.1
29/04/2013 added video section 3.5
30/04/2013 added video section 4.2
30/04/2013 added video section 4.3
01/05/2013 added video section 4.5
01/05/2013 added screenshot and video section 6.2
24/05/2013 the tutorial is more or less at 50%, but given the low interest of the community I suspend the update
09/07/2013 section 3.1a become obsolete
09/07/2013 added section 3.1b
21/08/2013 updated section 3.1b and added a section video
24/08/2013 added section 3.4.x
0.1 Index
1.1 Premise
1.2 Introduction to server
1.3 Introduction to L4D2 server
2.1 Getting Started
2.2 We create folders to the server
2.3 Turn on the console
2.4 Steam_id
2.5 Steam group
3.1a hldsupdatetool.exe and download server (at 2013/07/09 not working anynore)
3.1b steamcmd.exe and dowload server
3.2 Configuration server (to be completed)
3.3 Analysis of some commands ..... (to do)
3.4 PortForwarding and opening doors (preliminary version)
3.4.1 Very short compendium on networks
3.4.2 Router
3.4.3 Types of connections
3.4.4 Opening doors
3.4.5 Port forwarding
3.4.6 Ports Test
3.4.7 Static IP (to do)
3.5 Starting the server
3.6 Boot parameters analysis (to be completed)
4.1 Introduction to Metamod & SourceMod
4.2 Metamod
4.3 SourceMod
4.4 Server administrators
4.5 Sourcemod Commands menu
5.1 Plugins
5.2 Analysis of some plugins ....... (to do)
6.1 Stripper
6.2 Installing stripper
6.3 Objects list
6.4 Configuring a map
7.1 Hammer
7.2 Download Tool (to be completed)
7.3 Decompiling a map (to be completed)
1.1 Premise
Alert!!!!
Under construction!!!
I have the italian version of steam and l4d2. I do not know the real version of many command on english version but i tried to translate!!!!!!!!


Hi all.

I decided to write a short guide to the installation of a dedicated server for L4D2 in my mother tongue, because I could not find the network. This document has been drawn up in Italian / translated by GoogleTranslate / corrected by me based on my limited knowledge of English. I write according to my competence of knowledges and time. You could do a lot better but I can not. Settle.

This need arises from the many requests for information and assistance that have happened to me. I thought I'd write a guide proof noob able to answer the same questions that I have heard often do and that I myself have done. This information are already all on line but since I also did a little 'hard to understand how it all work I decided to aggregate and organize this information in a pattern that at least for me it is clear and simple and I hope that it is also for the others.

Of course 90% of what I write I take it from the guides I have followed so I'll try to give everyone their own merits without stealing anything from anybody. Corrections are welcome.

The first step to take if you have specifically looked for a guide like this in Italian is to learn English.
The second is to learn well English ...... Done? ... Good ....

*****Note:
In this guide, all that needs to be written from the keyboard will be put in square brackets (which is not part of the commands!) As follows:
[this is written the same but without the brackets]
1.2 Introduction to server
Let's start with some basic concepts.

A game like L4D2 needs a server and 4 players in the basic version, which for simplicity is one that will always take into account.

The server is responsible for coordinating between the various players what happens during the game and in practice the game runs on the server and the client (your game)is dedicated to rebuilding to the video for each player what the server says to it (ok ok my speech ... is a deliberately simplistic). When you connect with your game to the network it looks for a free server to play on. A server usually would be a 'normal' PC dedicated for this purpose only, even with exceptional requirements, set to run the best the programs hosted (hosted). So no useless things that weighed down the system as graphical user interfaces, but often only the command line. This is because the speed of the server is essential along with a good ping so that there is no lag for players. Raise your hand if you have a decent pc to devote only for a game .......Do you raised your hand? Be seen from a good psychological .......

In our specific case, the server to which I refer is not a computer but a program that is run on a PC.

Usually the client and the server does not spin on the same machine as there may be problems of lag for the other players. But from personal experience I can assure you that a PC powerful enough not afraid to do this as long as you meet certain minimum precautions:
1. multicore PC powerful enough
2. decent graphics card
2. many ram
3. the PC must be efficient
4.A decent connection
5. background programs must not interfere with the server (a virus scan or upload to Dropbox when you are running the game of the games will be lethal ......... bad lag and ping at will).
6.your game should not be set too high details to be lighter on the cpu.
With these type characteristics I played often without too many problems from my pc that hosted also the server with a normal connection from home. Of course a professional hosting service would be recommended.
1.3 Introduction to L4D2 server
Question: Why should I must install a server if there are many ready-made?
Answer 1: If you do you ask that why do you read this guide? Evidently you do not need and forget it to save your time.
Answer 2: On your server you can change the settings according to your needs and taste.Le personalizazioni possible tante.But be careful not to overdo it because to change too much the gameplay is not as fun as it sounds, especially for other gamers.

We assume that you have Steam and L4D2 installed and working.

I know two ways to install a server. The first and most simple from the Steam menu that I've never tried and do not recommend because I think it's best to keep completely separate server file and game file, which I think this does not. I will not dwell further on this system but I simply point out this excellent video guide (in English) and if you are interested you will have to arrange on your own, as I repeat not know firsthand this method.

http://www.youtube.com/watch?v=SssjO3eLnFM

The second is little more laborious but creates a server completely separated from the game. The only disadvantage is the replication of about 10 GB of data necessary to the server that are similar to those of the game. To me it does not matter. So if you want to delete the server just simply delete the folder.

In this guide, we will use the console version of the server (such as a DOS window so to speak) and not the one with the gui that I consider useless. Basically the same thing but the console gives me the opportunity to easily give commands to the server and to see at video lots of useful information.
2.1 Getting Started
Let's start with some steps that we have to do now or later. At your choice.

First I list some guides I followed for my server and from which I draw a lot of information verbatim for this tutorial taht you need to see as a collage of translations.
http://forums.steampowered.com/forums/showthread.php?t=1381634
http://www.tunngle.net/community/topic/97791-tutorial-how-to-make-a-left-4-dead-2-dedicated-server/
https://support.steampowered.com/kb_article.php?ref=6758-TCMF-2234
http://forums.steampowered.com/forums/showthread.php?t=1125208

and many others I can not remember because of the large number.

Step 1
A first step to do not apply in a specific way your server, but more generallyWindows that does not this thing by default (which I just do not understand .....).
We have to activate the display of file extensions because if we did not when we would go to create some files that will serve us we will do it in the wrong way.

Here's an example referring to one thing that we will discuss towards the end of the tutorial.

At some point we will have to create a file [map.cfg] which is a simple text file.

If we have extensions visible it happens this:
-Create a [New text document.txt]
-We write in all what we need
-At the end of we rename it in [map.cfg], we will be asked to confirm that you want to change the file extension,we will confirm and the file icon change and we ended up correctly.

If we do not have extensions visible it happens this:
-Create a [New Text Document] (note that the extension is missing?)
-We write in all what we need
-At the end we rename it in [map.cfg], and we will not see the icon change, because in reality we changed the name of the file but not its extension. In fact, the real name of the file is now [map.cfg.txt] with double extension. This file is unusable by our programs.

*****Remember that i have Windows in italian.Use Google.Sorry.
To display file extensions open any folder / Tools / Folder Options / View and uncheck 'Hide extensions for known file types'.
Now the extensions will be visible properly
2.2 We create folders for the server
I advise you to be as ordered as possible or you begin to get confused. I state that in spite of all the various considerations that should be made, it makes a not big difference where you place these files. All you need is enough space (at least 20 GB for the server only).

I suggest you to create a separate folder with a unique and clear name (like serverl4d2) where to put in all neatly and this is what we will do in this tutorial. The path before to this folder it is your problem that does not change much. Of course if you put the server where there is not enough space or the disc is excessively slow is not a good thing.

Step 1
We create our folder: [... YourAnyFolder\serverl4d2] that from now we will use as parent directory in all the examples.
In this folder will be downloaded all the servers in a folder that will be created automatically.
We create another folder in which to put some programs that will use later.

Step 2
We create in \serverl4d2 folder the \tools folder (... YourAnyFolder\serverl4d2\tools)
This folder will serve us until later.

I repeat: try to be ordered but there are no hard and fast rules. When it is necessary to have the folders in a certain way I'll tell you.

2.3 Turn on the console
The console allows you to give different commands to the game and the server. It is useful to administer the server.

To tell the truth I do not remember if have to do both of these steps because I made them already for a while, but neither of them will injure nothing.

Step 1
Open the game l4d2/go to options / keyboard and mouse/ and on 'allow developer console' put ''Enabled'' / Press ''Done'' and exit the game.
https://www.youtube.com/watch?v=zxc5UzClI5E

Step 2
Now on the screen of Steam/Library right-click on L4D2 and choose Properties and on the General screen where you should be already choose ''Set launch option'', enter [-console] just in the startup settings and confirm.
Start the game and you will find the console opened with which you can give different commands and administer the server.
http://www.youtube.com/watch?v=VIrzaOZkqs0

***Note: It 'important to the bind (fixing) a key for convenience. Chooose what makes you more sympathy that is not already used. I use F9. So write in console [bind F9 toggleconsole] and from now to open the console just press that key. If it do not open click on the options and go back to the main page of the game to shake a little the software and press the key again ... usually it unlocks something and the console will open. The console does not open in the lobby (the waiting room of L4D2). To close just press Esc.
2.4 Steam_id
The Steam_id is (guess what?) Your ID that uniquely identifies you on the network steam. For Steam it is equivalent to your tax code.

The Steam_id you will need later.

To find out which is just open the console in game while you are playing in any map and not from the main screen of the game.

In the console (while playing) write [status]

There appear the info of the server and players. Look for the line where it says your name in quotation marks, which you used in the game, and after that you will find something like this STEAM_x:x:xxxxxxxx with numbers in place of x . That is your Steam ID. Note it somewhere.
2.5 Steam group
Try on Steam for a precise definition of a group.

Create one. It is easy. Arranged by only. From the administration screen retrieved the group ID that will be useful later and note it.

It is not essential to have a steam group. If we had not, to gain access to our remote server should use the commands that I personally feel uncomfortable and that I will not deal here. While on the local server should not have any problems but I personally recommend to use a steam group the same.

Having our server associated with a steam group access to it is very easy (we'll see later how to do it ... now let's just create the group). Of course, us and everyone else has to access to the server through the steam group,before, must be done the join to it. In this way, once you start the game Left4Dead2, we will see at the bottom right the list of server groups of which we are a part. So there are mainly two ways to access the server, but if we want the game to be accessible to anyone you need to access only one way.

Method 1 with game closed :

From the list of server groups of which we are a part(in the bottom right of the main screen of L4D2) select the server that we want (our ...) and we access directly to it.
***Note: in this way the server will not visible on the network of Steam for all players but only to those that are part of the group bound to the server. Can only access the game from the list of servers as you have done or on the screen of the community of Steam (the one called up from the game by pressing Shift + tab, not the main screen of steam) by [Merge to match] from the menu of his friend in the game. They can not join grom the list of friends visible from the main screen of L4D2 at the bottom left.

Casual players will never join.

The game will start in the default mode and map of the server or in the last mode and map that was used on it. You can only change the map from the game.
You can not invite friends because that menu will be disabled.
I'm not sure that any records will be stored because it not happened to me. Let me know about updates.
For these reasons, I call a server started so 'closed'.

Method 2 with normal game (it is much simpler than it looks):

From the main screen of L4D2 choose a game mode / play online / Advanced search options / Create a lobby / change settings / server type / Server Steam group
Now go back to the waiting room (the lobby) and click Start Game.
You will be presented a list of server related to the groups to which you belong. Choose your server and the game will start on that server in the game mode you have chosen.
If on the server was already running a game it does not appear in the list of available servers, and you can not choose it if first you do not kick who is using it (which is a bad thing !).
It makes no difference what mode is set to the server first. By doing so, the game mode will be changed to the one you selected in the lobby and will remain so until the next forced change.
So the server will be visible on the internet and everyone could connect randomly to your game and all records will be recorded normally.
3.1a hldsupdatetool.exe and download server (at 2013/07/09 not working anynore)
***************************** Important! ****************************

********************** * Go straight to the point 3.1b **********************

At the beginning of July 2013 there was a major upgrade of the server that at least for me it made ​ impossible to continue to use this tool to update the server. Strangely, these can still be downloaded from Steam and used to download the server. But a few hours later, finished downloading a new server at the startup you receive the message that the server is outdated. So it is impossible to use it. I do not understand why if it is not working what they expect to put him out of the way. I do not know more. So from now on ...... until the next change ......... we will use another tool: steamcmd.exe. You can go direct to paragraph 3.1b. I leave this section only for archive.

Step 1
Open a browser and go to the home page of steam. No need to be registered for it. Below the menu look for the srolldown menu 'Tools'and select to download the 'Windows HLDS Update Tool' that we can position where we want because it will be used once.

Direct Link http://storefront.steampowered.com/download/hldsupdatetool.exe

This is a small downloader that initiates the download of the real program hldsupdatetool.exe (in practice it starts downloading itself ). You will use it only this time and you can delete it after, leaving his ''namesake older brother''. During the installation you need to enter an arbitrary destination that will be the location of the update program, not the server.

Step 2
In the 'YourAnyFolder\serverl4d2' previous created, create a folder HldsUpdateTool (YourAnyFolder\serverl4d2\HldsUpdateTool) within which we will install the update tool that as 'update tool' from time to time you'll have to do, alerted by a message in the console that the server is 'out of date' and that will not connect more until you have updated. You have to create first because the installation files, at least to me, it does not create folders but only choose an existing one.

Step 3
-Start the downloader hldsupdatetool.exe and choose as the destination the folder you just created with his name
-Choose the location of the sever (I think that Italy is in Europe ..... at least geographically speaking .....)
-Complete the installation.

http://www.youtube.com/watch?v=5fy_E16IgDg&feature=youtu.be

Step 4
-Go to the folder you just created HldsUpdateTool and there you will find the true hldsupdatetool.exe for downloading the server (do not confuse this with the same name minor).
This tool is engaged with a number of configuration parameters and a simple way to dois this (there are more sophisticated methods to do it but you can search the net for this ....)

-Create a link to the file hldsupdatetool.exe
-Right click on the link
-Property
-In the field 'Destination' you will found without the quotes 'YourAnyFolder\serverl4d2\HldsUpdateTool\HldsUpdateTool.exe' to which you must add these configuration parameters '-command update -game left4dead2 -dir YourAnyFolder\serverl4d2' .
At the end the field must be so:
[YourAnyFolder\serverl4d2\HldsUpdateTool\HldsUpdateTool.exe -command update -game left4dead2 -dir YourAnyFolder\serverl4d2]
-close the Properties window by pressing OK

*****Note: remember this link because that's what you'll need to download the server now and upgrade the server in the future. Without changing anything. Just start it. The first time makes the total discharge and from the second on it does a check of the files and update everything you need. In fact, if for some reason the download is interrupted, intentionally or not makes no difference, just restart the program and after the chekup the file download resume from where it left off.

Step 5
Start the link hldsupdatetool.exe and the server download will starts. This opens a DOS window where you can see the progress as a percentage. It will take several hours depending on the speed of your connection but is normal (I put more than 6 hours). At first it may seem that nothing is happening but do not be in a hurry and leave it work until, having finished, the window will close on its own. If it shut down without having finished just restart it.

http://www.youtube.com/watch?v=QEqVc0f_WLs&feature=youtu.be

When you have finished the server is downloaded. Now it must be configured before launching it. Would start the same but for me it does not make sense.
3.1b steamcmd.exe and dowload server (under cotruction)
Preliminary version.
At the beginning of July 2013 hdlsupdatetool do not work any more to me and to download and update the server I had to go to Steamcmd. Slightly different but not too much.

Step 1.
Open a browser and Google for ''Steamcmd''. The first result is the official Valve page.
https://developer.valvesoftware.com/wiki/SteamCMD
Here are most of the information you are interested but we like a little help.
Here I found what I needed:
http://www.gotfrag.it/threads/come-creare-un-server-dedicato-di-counter-strike-global-offensive.1288/
Except for a few small corrections I did just as described here from points 1.a to points 3.c of this guide at we give all the credit. (After we resume from our guide in section 3.2)

Step 2.
Download the file Http:/media.steampowered.com/client/steamcmd_win32.zip (for the latest version, use the link from the official page, not this)
Put it in any folder. Us for thi time we create a folder that will call UpdateTools in the server folder. (.....YourAnyFolder\UpdateTools) and we extract it with any application or with the tools of windows (does not matter). At the end we will have this folder structure inside with the file steamcmd.exe
(.....YourAnyFolder\UpdateTools\steamcmd_win32\steamcmd.exe)

Step 3.
Double click on steamcmd.exe to install it.
This will open a DOS window where you can see the progress of the installation and upgrade of the instrument. In fact for the installation would seem more correct to use a procedure from the command line but so it is more simple and worked the same for me.
After installation, you find yourself in front of the Steam command promp. To exit, simply type exit (do this).

Step 4.
To automate the initial download and future updates create,where the file executable steamcmd.exe is,a txt file (a script) calling it in a way that allows us to recognize it easily since that with the same executable you can download all of the servers that you want . Our server in this case is ''serverl4d2''' for which we create the file "serverl4d2.txt" with the following information:

login anonymous
force_install_dir ".....YourAnyFolder\serverl4d2"
app_update 222860 validate

Step 5.
Create a desktop shortcut to the application steamcmd.exe and give it a name clear and unequivocal like ''update serverl4d2''.

Step 6.
Right click on the link / properties and add in the destination field (without quotes) after steamcmd.exe '' + runscript serverl4d2.txt ".
At the end the link will be like that: ....YourAnyFolder\UpdateTools\steamcmd_win32\steamcmd.exe +runscript serverl4d2.txt

Step 7.
Now if you start that link should start the updating of the steamcmd before and the upgrading of the server l4d2 after (of course since it's the first time you do this update it involves a download of the complete server for about 10GB of data that It usually takes 3-10 hours)

At the end of the download update there remains the open window where you can check what happened.

http://www.youtube.com/watch?v=Zwb1TnYI1YM&feature=youtu.be
3.2 Server Configuration
After downloading the server must set it with a simple text file: the server.cfg that is located in the YourAnyFolder\serverl4d2\Left4Dead2\Left4Dead2\cfg. Probably the file already exists but can not remember. If there is not create it. It simply opens with notepad.
This file may contain a variety of configurations. There were many. But it is not necessary to set up everything because what are not specifically changed often takes a default value that can still be ok.

***Note: This file is loaded on every map change and therefore it is not necessary to try to set his load. It is automatic. Lines beginning with slashes / / are not read by the server and is usually used to comment.

A basic configuration of it they could be:

/////////////////////////
//Server info
hostname YourHostName // write your server name here.
rcon_password "xxxx" // write your rcon(remote control) password here.
sv_search_key "xxx" //i dont know realy
sv_steamgroup "xxxxxx" //steamgroup for the server(important)

/////////////////////////
//Internet, region, lobby setup
sv_lan 0
sv_region 255
sv_steamgroup_exclusive 0
sv_allow_lobby_connect_only 0

/////////////////////////
//communication
sv_voiceenable 1 //default 1; enable/disable voice comm
sv_alltalk 1 //default 0; Players can hear all other players' voice communication, no team restrictions

/////////////////////////
//LOGGING
log on //Creates a logfile (on | off)
sv_logecho 0 //default 0; Echo log information to the console.
sv_logfile 1 //default 1; Log server information in the log file.
sv_log_onefile 0 //default 0; Log server information to only one file.
sv_logbans 1 //default 0;Log server bans in the server logs.
sv_logflush 0 //default 0; Flush the log files to disk on each write (slow).
sv_logsdir logs //Folder in the game directory where server logs will be stored.

/////////////////////////
//Bans
// execute banned.cfgs at server start. Optimally at launch commandline.
// Put writeip/wrtieid commands in the bottom of server.cfg AFTER banned.cfgs have loaded.
exec banned_user.cfg //loads banned users' ids
exec banned_ip.cfg //loads banned users' ips
writeip //Save the ban list to banned_ip.cfg.
writeid //Writes a list of permanently-banned user IDs to banned_user.cfg.
3.3 Analysis of some commands (to do)
For now, the only command which I will deal in a very concise is that of the steam group.
Set it so that you have your server available.
Search the line '' sv_steamgroup "xxxxxx" //steamgroup for the server(important) '' and replace the xxxxxx with your Steam group ID ( paragraph 2.5......Steam group)
If you do not you can not access your server following the instructions in this guide, but you have to use other commands that I do not explain.
3.4 PortForwarding and opening doors (preliminary version)
********** Attention!
********** This part can be particularly boring but if not performed correctly portforwarding and the opening of the doors you can never use the server with other people!
If you do not put correctly on line you can only play with you or with other people within your LAN as the server can also be visible on the internet but can only be reached on your private lan. Is it okay to train but in the long run if you can not play with your friends become boring and useless ..

Is there a program (free) to verify with certainty the visibility of the server which will be discussed later.
3.4.1 Networks
Brief mention on networks because the speech is really large, and Google is your best friend.
The possible combinations of hardware that might have are endless, and then the various solutions as well. It is not my intention to write a treatise on networks. There are people more competent than me who can do it but if you do not grasp some basic concepts're probably just wasting time unnecessarily in an attempt to solve a random problem that has a specific solution.
* Digressions
I see you already on his knees praying to some saint that makes you the grace to connect to that dammned server promising to bring him a sacrifice by slaughtering a goat and a young virgin tooo ................ oh well ...... you will think of something ....... ................

There you have internet. Here your PC. Do you need a modem as a bridge between you and the internet. When you connect to the internet it is actually the modem that connects and you connect to the modem. Your ISP (Internet service provider ...... that to which you pay the subscription for the connection) gives at your modem an IP address(Internet protocol) with which you will surf and then you are accessible on the internet.





http://digilander.libero.it/bdbd0/Varie/pcsingolo.jpg
The images were pilfered here and there on Google Images.

Your IP address can be fixed or dynamic but usually for consumer connections is dynamic (less expensive).
For a server would be better a fixed address that gives the assurance that the address xxx.xxx.xxx.xxx always corresponds to the same server but since things are usually reserved for more expensive subscriptions I take for granted that you have a connection with address dynamic.
A dynamic address as a minimum is renewed every time the modem connect to internet and sometimes even more often. That is to your server (your modem actually ... do not forget it ....) will be awarded once an address like xxx.xxx.xxx.xxx and the next time an any address different that makes it a little trickier to make so to be able to connect to the same server.
Imagine a home that address is changed once a day or more, how should I do to receive mail ..... no postman would be able to deliver it!
But with a bit of work everything is resolved. Have faith.
You can check yourself connecting to sites like http://www.whatismyip.com/ what is your IP address on the internet ( that of modem of course) and verify that changes every time you connect.

Important *******
Understand that what is the address of the modem and no of the PC is necessary when you have more pc because you have only one connection that can be given only one address at a time and there is a system to allow individual PCs to surf at the same time: a router.















http://digilander.libero.it/bdbd0/Varie/lan.jpg
3.4.2 Router
The router (IP address 192.168.0.1 reference but it could be different, it makes no difference) is responsible to connect multiple PCs to each other on an internal network (lan. .. local area network) to which it gives internal IP addresses that are not visible on the internet, and who are on the same network as the router assigning an address that changes only at the end. Type in our case:
192.168.0.2
192.168.0.3
192.168.0.4
Then all PCs connect to the router that it connect to the modem that it connect to the internet .

It is the router that is in charge of setting the right data to the PC.
Therefore one public ip address external and many internal private addres to the LAN that are made invisible from the outside through the Nat (natwork adress translation) it covers all the routers routing packets back to the PCs who have wondered. While usually all that comes from outside that is not required by any pc behind the Nat is blocked and discarded.
I note that for a home PC, however, the Nat is a little security tool that allows you to interpose a small additional security layer between you and some hacker and have a dynamic address is not so wrong for connections housewives.
If someone is targeting you and then the next time you have an different address that makes a little more difficult to find you.
This is not good for a server, however, that must be able to accept connections from the outside by spontaneous players who want to connect to it. It is not the server that goes around begging players but players who go around to look for servers on which to play.
And here comes into play (1) the opening of the doors, and (2) port forwarding (port forwarding) of the spread that they are two separate things and both are essential:
1) OPENING DOORS means that where create rules in the firewall of PC that is the security program that takes care of closing the doors ..... just like a porter. At the very least you have the Windows firewall and it is always required to be done in the presence of a firewall. It will always be understood that talking about PCs and servers that a firewall is there and I will not repeat it forever, but if your firewall are off completely (for heaven's sake do not do it ever!!) then there is nothing to be opened because it would already be opened .
2) PORT FORWARDING be done always and only in the presence of a router because of NAT done from it. The doors of which shall be forwarding are the same ones that are opened.

************************************************** *************
Note ************************ ************************* **********
The opening of the doors of the PC and the router is something that exposes the pc on internet and to potential harmful attacks. Should be done with caution and only when absolutely necessary and only for the time strictly necessary. And if something happens to you after all are your ♥♥♥♥♥ and do not complain to me.
************************************************** *************
************************************************** *************
3.4.3 Types of connections
Having a single PC or many pc does not really make much difference.
The difference is how you connect to the internet!
If you only have a modem just open the doors pc (only the essential ones).
If you also have a router where to open the doors of the pc and do the portforwarding to pc-server.



Whatever the structure of your network more or less these are the things needed to be done. That said it is really easy to do but we become stupid .......

Let's see some types of configurations that you might have:
1 Pc single / modem / internet
2 Pc single / (modem-router) / Internet
3 Pc single / router / modem / internet
4 Pc in a single Lan / router / modem / internet
5 (Client and Server on a LAN) / router / modem / internet

Note ********
In the first 4 examples for '' Pc single'' I means a single PC running both the client (the game where you play l4d2 on you), and the server (the program) that you have created and to which you are playing other people with you . Did I mention that this is the worst option. From personal experience, I tell you that if you have a very powerful and fast computer (very very very powerful and fast!) You can also do it without problems. I do the bulk of the problems I have always had with the speed of the connection.
Of course the solution right is the number 5. Having a PC to play (the ClientPC) and one to devote to the server (the ServerPC).
*********
http://digilander.libero.it/bdbd0/Varie/Reti_varie.jpg

You have to have to have a modem with which you connect to the Internet, either directly or through a router that handles the connection of your LAN. The moden and the router can also be integrated in a single device called modem/router.
If you do not have an ethernet modem (USB ones you may as well throw them away for me) and failed consider to buy one that cost little (20 euro).

Summarize:
In cases 1 (only firewall) you just have to open the right ports of the client/server.
In cases 2-3-4 (firewall + router) you need to open the doors (firewall) suitable of PC client/server, and then forwarding on the router (router) of the same to the PC client/server (which is always the same).
In cases 5 (firewall + router) you need to open the right ports of the PC-server (server firewall), and then on the router forwarding the same ports to the PC-server (router). On the client, as far as the server-software, you do not have to do anything
3.4.4 Opening doors
Imagine the doors like so many separate channels of communication that are used by programs to exchange data with the outside of the PC.
Each port can be committed by a single program at a time, but at the disposal of doors there are many.
Usually, but there are exceptions that we will omit, the doors that we are interested in a range from 27000 to 27050.
By default srcd.exe (the server binary that we will see later) uses port 27015, but if you were to find it occupied one it looks for a free automatic usually to rise (27016,27017,27018 ....).
The server find just by itself the door he needs and is very comfortable, but since we have to do the opening of a specific port if we open the 27016 and then the program assigns the 27015 is not good.
So, being careful not to make configuration errors, we force the server to use a specific port that then we'll be opening in the firewall pc-server.

In our examples we will always use the default port 27015, but the others should be fine. If we had more than one server just use a different port for each one or allowing the start of only one at a time you can always use the same port.

To do this will be enough to add to the startup command of the server that we will see in Section 3.5 the parameter '' +port 27015'' (without quotes).

Now we move on in practice:
We have to go to open the door of 27015 of the firewall either TCP or UDP.
Each firewall is different from others. Some will make your life difficult not working
as you would expect:
---- With the Windows firewall never had a problem: just set 2 exceptions. One for the port 27015 TCP and one for 27015 UDP port. Finished. Certainly not the best of the firewall but I tell you how he behaved.
---- Zonealarm gave me problems and I gave it up because I think there was something wrong.
---- Comodo firewall I use it recently, but it seems highly configurable and for now I recommend it.
3.4.5 Port forwarding
If you do not have a router turn over to the next section 'Test ports'.
If you have a router or a modem/router you need to do port forwarding is that you have only one PC is that you have a LAN.

http://portforward.com/
This will be your reference guide. I have also tried their software but I did not feel well and I preferred to do manually.
To what you will find at that site I can not add much but I do a small summary of what to do.

In the settings of the router to find the page that deals with forwarding ports or virtual server or whatever they call it (but you could never put together a good time .......) and submit the outer door of the router (which is what you see on the internet) 27015 either TCP or UDP to port 27015 (TCP and UDP) of internal IP address that belongs to the PC on which the server resides. So whatever connection request sent to the ip address of your router on port 27015 will be passed without further hitches to the server-pc like if the router was not there.
3.4.6 Ports Test
Done the opening doors (and the eventual forwarding) we do a test to see if we have done correctly.
If you are sure you want to skip this part but I assure you it is best to check before you waste time trying to figure out what does not work.
To test the doors will use a program that the certainty of having the doors open and that claims to never give false positives: PFPortCheck
http://portforward.com/help/portcheck.htm

Make sure that the program tries to install a lot of other stuff but rejected everything and installed only the main program.
Use is simple: you tell it what port to test first in TCP and then UDP, and only if the results from all six Greens can rest easy .... if not, go back and check what you did wrong.
3.4.7 Static IP (to do)
If you only have the modem you are not interested in this paragraph.
Having the internal address that changes continuously makes life difficult. It would be better to have a static internal IP address. Do it if you can or we will see in the future.
3.5 Starting the server
The file to start the server is ... YourAnyFolder \ serverl4d2 \ Left4Dead2 \ srcds.exe

Starting it from that file the server would start in gui mode, which we do not care.

Create a shortcut to the file srcds.exe. We can put it where we want (we will put it on the desktop, really easy to find).
Clicchiamolo Right / property / in the Destination field add some boot parameters so that the link appears so :
[...YourAnyFolder\serverl4d2\left4dead2\srcds.exe -console -game left4dead2 +map c1m4_atrium +mp_gamemode "survival" +port 27015]

In video is missing the ending part of +port 27015. Add that by you.
http://www.youtube.com/watch?v=eYv9Zc749rE&feature=youtu.be
3.6 Analysis boot parameters (to be completed)
[-console] does start the server in console mode (who would have thought? ....)

[-game left4dead2] I not add anything

[+map c1m4_atrium] this parameter indicates the initial map of the server. In console mode is required or the server will not start correctly, but of course you can put the map you prefer.
[+mp_gamemode "survival"] is used to chose the gamemode. In this case I put survival (my favorite), but all are good. If you do not put it the default is the campaign mode. I note that with this command in console appears an error message that says 'Unknow command

''mp_gamemode'' but the gamemode is changed successfully, and why I have no idea.

There are many other possible boot parameters but treat them if I have time.
4.1 Introduction to Metamod & SourceMod
Now your server is ready to be started but now is identical to any official server that is located in the network. Now begin your real customizations that will make your server different from others.

The first step is to install Metamod and SourceMod needed to make the changes that will affect us. For detailed information please refer to the official website which I can not add anything.

http://www.alliedmods.net/

In summary imagine that there is your server connected to metamod connected to SourceMod that runs the plugin ..... ok ok ... very briefly.
4.2 Metamod
Metamod usually you install it and if there are no updates there are not particular things to be set. At best, make sure it's properly installed from the console.
Installation is simple as it involves simply copying metamod folder and one file.

http://wiki.alliedmods.net/Installing_Metamod:Source

1. Dowload Metamod
2. Extract the archive and put the folder in addons metamod folder structure like this: [YourAnyFolder\serverl4d2\left4dead2\left4dead2\addons\metamod]
3. From this page http://www.metamodsource.net/?go=vdf create the file metamod.vdf specific for L4D2 and put it in the addons folder this way:
[YourAnyFolder\serverl4d2\left4dead2\left4dead2\addons\metamod.vdf]
4. Restart the server (close it by 'x' and start again its link)
5. To verify that it was installed correctly write meta version version in the server console. If you see the word '' Loaded As: Valve Server Plugin'' with the version number you are done, if not double check what you did wrong.

http://www.youtube.com/watch?v=DNWQ9mx-PQo&feature=youtu.be
4.3 SourceMod
Step 1. Download SourceMod
http://www.sourcemod.net/downloads.php
Step 2. Extract the folder and put it in the same folder next to the metamod addons like this:YourAnyFolder\serverl4d2\left4dead2\left4dead2\addons\sourcemod
Step 3. Restart the server
Step 4. Check for correct installation. At the server console (not the client) write [meta list]. If the installation is correct you will see the version of SourceMod and other things.

http://www.youtube.com/watch?v=3I3SirqA8Qg&feature=youtu.be
4.4 Server admin
To have administration rights of the server first set you such admin, otherwise the server will see you as any other player online.

http://wiki.alliedmods.net/Adding_Admins_ 28SourceMod% 29%

To do this you will need to edit the file YourAnyFolder\serverl4d2\left4dead2\left4dead2\addons\sourcemod\configs\admins_simple.ini
Open the file in Notepad. Inside the file there are a large part of the indications of how to.
In summary you must just add a line to the end of the file as well including the quotation marks:
"STEAM_x: x: xxxxxxxx" "99: z"
STEAM_x: x: xxxxxxxx is your Steam id. Replace x with the numbers of your steam id.
The number 99 indicates your degree of immunity (in this case the best but you can use different values ​​according to your degree). This case,in your server no one can do anything against you (kick you for example). For a more detailed explanation take the trouble to read the official guide.
z is your level of government. In this case z is the highest. Lords and masters in your home. (Official guide for details)
4.5 Sourcemod commands Menu
Finished installing Metamod/SourceMod ,and after you set up as an administrator, you can start fiddling with the server.
Start the server and connect with your client.
Open the game console and give the command in console [sm_admin] and back to the game by pressing esc.
You should now have overlaid the basic menu with options for SourceMod. Have fun.

*****Note: To not open the console every time and having to give the command sm_admin to open the admin menu is appropriate to make the bind (fixing) of command to a specific key to bring up the menu from within the game by simply pressing a button. Bind a command to a key you can do with this command and any other command (I think ....).
Open the game console and enter the command [bind F10 sm_admin]. From now on in the game by pressing the F10 key it open the menu to SourceMod (I use this key, but you can put whatever you want, as it is not already used by other commands)

http://www.youtube.com/watch?v=xqxQRExVqtI&feature=youtu.be
5.1 Plugins
Now begins the customization of the server using the SourceMod plugins.

http://www.sourcemod.net/plugins.php?cat=0&mod=6&title=&author=&description=&search=1

In this page you will find hundreds of different plug-ins that add many different features to your server. Check the compatibility with L4D2. Usually, each has a description and instructions for installation and setting. There is also the opportunity to post questions and if done respectfully is easy to find people ready to help.
The treatment of all these plugins is not possible due to the quantity. Only to control all it took me a day. Good Job
5.2 Analysis ..... some plugins (todo)
Tempus fugit .....sorry
6.1 Stripper
Here we are finally at Stripper.

With stripper you can move objects on a map. I think it can be used in all types of maps but personally I use for the preparation of survival maps , to place the objects in a similar way as is done at the beginning of a game. In this way objects are always already positioned at the start where I want without having to prepare every time.

Original...................................................................Modified

Original...................................................................Modified

Once you understand how it works is not so difficult but in the beginning it was not so easy for me. In fact stripper does not move objects but can only delete them and add them. So the shift effect that you get it is done before deleting an object from where it is and then by placing the same one where we need. The effect is the same as a shift and from now on we'll pretend that it does. I believe that nothing prevents us, if not moral, place, move, add, remove all the items we want, but I have not actually tried it. I usually have moved only existing objects in a map and only those that you can move normally in the game. You can do other actions with strippr but if you're interested you must go to study on the official website.
6.2 Installing stripper
http://www.bailopan.net/stripper/

from this page download your version.
Extract the contents of the file stripper-xxxxxx-windows.zip.
The zip file contains a folder addons that if the copied in the path YourAnyFolder\serverl4d2\left4dead2\left4dead2 puts everything in the right place.
For clarity, the structure of the addons folder at the end looks like this:

YourAnyFolder\serverl4d2\left4dead2\left4dead2\addons\metamod
YourAnyFolder\serverl4d2\left4dead2\left4dead2\addons\metamod\stripper.vdf
YourAnyFolder\serverl4d2\left4dead2\left4dead2\addons\sourcemod
YourAnyFolder\serverl4d2\left4dead2\left4dead2\addons\stripper











The two lines with stripper are the new entries. The stripper folder in addons folder and the file stripper.vdf in metamod folder.

http://www.youtube.com/watch?v=cQn5sprSX8Y&feature=youtu.be
6.3 Objects list
Take for example the modification of the map Survival of the Dead Center Atrium (code c1m4_atrium)

To begin, we need a list of items that are there. To have him just start a game in the map that interests us, type in the server console the command [stripper_dump] that will write to the folder stripper\dumps a file named similar to the map with extension cfg (in our case c1m4_atrium.cfg).

Open this file with notepad and inside we find a long list of items. All those in the map, but not all that interested us . We are interested in the objects of the map survival but there are also that of other gamemode and many other things. To make a skimming just search for what interests us (with the Find command), which in its properties always the suffix weapons_survival.

Take for example an adrenaline but for other objects is the same:
{
"origin" "-4335.83 -3952.95 35.766"
"targetname" "weapons_survival"
"spawnflags" "2"
"solid" "6"
"skin" "0"
"model" "models/props/terror/ammo_stack.mdl"
"disableshadows" "1"
"angles" "0 74 0"
"classname" "weapon_adrenaline_spawn"
"hammerid" "945783"
}

the lines that most interest us are these:

The line "targetname" "weapons_survival" which indicates that the object in question will only spawn on the map survival (that interests us).

the first line "origin" "-4335.83 -3952.95 35766" indicating the exact place where the object spawn.

the line "angles" "0 74 0" that indicates the angle on the three axes of the object.

and only for reminder I never erase line "hammerid" "xxxxxxxx" which is a unique identifier for each object of the map used for any other purpose that is convenient for us to recognize objects between them.

Found with a little patience all objects we want to move we need to create the configuration file that stripper will read every time you start playing for moving objects.
6.4 Configuring a map
Stripper uses two files to set a map:

The first is global_filters.cfg that is performed for each map. For our purpose do not interest and you can just leave alone.

The second file is located in the YourAnyFolder\serverl4d2\left4dead2\left4dead2\addons\stripper\maps folders, take the specific name of the map (in this case c1m4_atrium.cfg) and it is performed every time that specific map is started.

This second file is the one that we have to change respectatin the syntax or unrecognized commands will not be processed.

Example of adrenaline:

The file of this map we have said is c1m4_atrium.cfg. Open it with Notepad and to move this adrenaline write like this:

delete:
{
"origin" "-4335.83 -3952.95 35.766"
"targetname" "weapons_survival"
"spawnflags" "2"
"solid" "6"
"skin" "0"
"model" "models/props/terror/ammo_stack.mdl"
"disableshadows" "1"
"angles" "0 74 0"
"classname" "weapon_adrenaline_spawn"
"hammerid" "945783"
}
add:
{
"origin" "a b c "
"targetname" "weapons_survival"
"spawnflags" "2"
"solid" "6"
"skin" "0"
"model" "models/props/terror/ammo_stack.mdl"
"disableshadows" "1"
"angles" "x y z "
"classname" "weapon_adrenaline_spawn"
"hammerid" "945783"
}

Save the fife. Done.

Doing so at the start of our map (c1m4_atrium) stripper will read the file c1m4_atrium.cfg
where he is written to remove (delete :) adrenaline that is in the "origin" "-4335.83 -3952.95 35766" and add (add :) adrenaline in the position ''a b c'', which are values we will have to give in an arbitrary way and angle too'x y z' (assuming that we are interested to change the angle).

This thing must be done for all objects that we want to move. Just be placed one behind the other so that the brackets at the end and the beginning are on two different rows.
This way is right:

{
object
}
{
object
}

This way is wrong:

{
oject
}{
object
}

Note: For reminder can add comment lines preceded by / /

Example of two objects that also applies to many objects:

delete:
/ / This clears an adrenaline and continuing a pills
/ / Adrenaline
{
"origin" "-4335.83 -3952.95 35.766"
"targetname" "weapons_survival"
"spawnflags" "2"
"solid" "6"
"skin" "0"
"model" "models/props/terror/ammo_stack.mdl"
"disableshadows" "1"
"angles" "0 74 0"
"classname" "weapon_adrenaline_spawn"
"hammerid" "945783"
}
//pills
{
"origin" "-5394 -3770 537.756"
"targetname" "weapons_survival"
"spawnflags" "2"
"solid" "6"
"skin" "0"
"disableshadows" "1"
"angles" "0 30 0"
"classname" "weapon_pain_pills_spawn"
"hammerid" "945884"
}
add:
/ / This adds in another place that we indicate our adrenaline and pills
{
"origin" "a b c "
"targetname" "weapons_survival"
"spawnflags" "2"
"solid" "6"
"skin" "0"
"model" "models/props/terror/ammo_stack.mdl"
"disableshadows" "1"
"angles" "x y z "
"classname" "weapon_adrenaline_spawn"
"hammerid" "945783"
}
{
"origin" "xxx xxxx xxxx"
"targetname" "weapons_survival"
"spawnflags" "2"
"solid" "6"
"skin" "0"
"disableshadows" "1"
"angles" "xx xx xx"
"classname" "weapon_pain_pills_spawn"
"hammerid" "945884"
}

Done.

Repeat this for all the objects that you want to move, and at the end you'll have your map personalized .

***Tip: Move only one object at a time with small attempts, and every time go to check in the game that the object is exactly where you want. Only then start to move another object.
7.1 Hammer
Hammer is a tool made available by the Valve Steam in Tools section.

Used to create levels and in theory with a little '(.... a lot) work you can create maps of the same level as original. I assume that for a single person it takes many years .....

We do not want this and for this tutorial you will look in the appropriate places.

So what doesHammer?

Hammer is fundamental for me to figure out where to put things and find, at least in outline, to set the right coordinates in Stripper. It makes the job faster and easier of going to attempt to find the right position to objects. Just feed it the map that interests us decompiled and then you can browse the whole being able to realize what you're doing more clearly seeing the map more or less where to place the objects.
7.2 Download Tool (to be completed)
Download Hammer.

Open Steam. The 'library'. Drop-down 'all games'. Tools. Left 4 Dead 2 Authoring tools. Right click. Install

Finished downloading you can start this tool and choose Hammer which is what interests us. But first ....

To Hammer, in our case, need a map that first we have to decompile.
7.3 Decompilation of a map (to be completed)
To decompile a map we need BSPSource

http://ata4.info/bspsrc/about.html

Download it in the folder you created at the beginning (... YourAnyFolder\serverl4d2\tools) or create it now . Estract everything. Open the folder bspsrc_x.x.xx

Double click on Bscsrc.jar
Click on Add
Choose the file of the map you are interested in the maps folder of Left4Dead2

Cilck on decompile.

Now you have the map in Hammer decompiled to load and navigate.
27 comentarios
bd  [autor] 4 MAY 2014 a las 11:52 p. m. 
@The King
I repeat that this tutorial in abandoned because here is too laborius to update.
A more updated version is here
https://forums.alliedmods.net/showthread.php?t=224404
I have almost abandoned this one too, but if someone have interest may be i'll continue to maintain it in future.
Please use that forum for help. It is more reliable.
Installing Metamod and Sourcemod usualy is very easy. Simply download and extract in the right folder. Do not install tougheter but first one, test it, and later the other one and test it. Step by step to minimize the possibility of failure.
Sometime the harder part is to find the compatibily version.
The King 4 MAY 2014 a las 1:48 p. m. 
*continuation

2 - created a server.cfg
3 - edited the admins.cfg (in sourcermod/configs folder)
4 - created the metamod.vdf pointing to Steam\steamapps\common\Left 4 Dead 2 Dedicated Server/addons/metamod/bin/server

So what now ?

PS: the server only works when i switch my firewall to Learning Mode not Automatic mode
So if anyone is using Eset Nod32 Smart Security, change the firewall settings to Learning mode
The King 4 MAY 2014 a las 1:48 p. m. 
Hello again

I managed to create the server! :))))
The problem: my firewall (Nod32)
I asked in their forum what may be the problem and they said to change it to Learning mode. It worked!

Now my question is: how can i install SourceMod and Metamod ? Because that is the only thing that is not working. I have seen several videos but none of them explains really well what should i do.

This is what i did:
1 - I downloaded both of them, unzipped and pasted the folder in L4D2 Dedicated Server Addons folder. There are 1 addons folder in each file (sourcemod and metamod) so i merged them.
Pasted the CFG folder in L4D2 Dedicated Server CFG folder.
bd  [autor] 3 ABR 2014 a las 11:57 p. m. 
@Same Old Song
z_difficulty but take a look here
http://forums.steampowered.com/forums/showthread.php?t=759749
I usualy never play in coop so i never tested that cvar.
Same Old Song 3 ABR 2014 a las 10:18 a. m. 
guys how can i change difficulty in coop?
BRs 28 FEB 2014 a las 10:46 a. m. 
okay
bd  [autor] 27 FEB 2014 a las 11:26 p. m. 
@Angel
Sure.
I repeat that this tutorial in abandoned because here is too laborius to update.
A more updated version is here
https://forums.alliedmods.net/showthread.php?p=2020516#post2020516
BRs 27 FEB 2014 a las 7:30 p. m. 
ty bd i find a tuto, can i add you if i have any question?
bd  [autor] 28 SEP 2013 a las 7:32 a. m. 
@The King
"Failed after 10 retries" it means that the server is not reachable.

Welcome in the fantastic world of dedicated server.
To be sure that the problem is only that you are on the same network of the server ask to some friend to connect to the server before you. Usualy from the outside of the net if the forwarding i well done is more wasy to connect.
I can not do anynore.
If you want to ask in the alliedmodder thread may be that some other one may hepl you more.
The King 27 SEP 2013 a las 8:30 p. m. 
I still dont know what is the problem. Now im getting that message: "Failed after 10 retries"
I googled it and found it is because of a firewall. I even removed the firewall (now im using only antivirus) but still doesnt work.

Some program, i think, is blocking this fcking port!

I checked the port forward with the portforward program, several sites and says that the port is open, so why i cant connect to the server ??? That is strange!