Raised This Month: $51 Target: $400
 12% 

maps crashing server // worldspawn


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
onedamage
Senior Member
Join Date: Apr 2004
Location: Montreal Canada
Old 08-03-2004 , 23:11   maps crashing server // worldspawn
Reply With Quote #1

hi,

got a couple problems, dont know what to do about them.

first one;
i've got maps that crash my server, example de_plaka, fy_rambohulk, what i dont understand is that i tested them myself before putting them on my server, and they are from reputed sites, so i know the maps are not full of shit.
usually, people can play the map for a couple minutes, then the server crashes and i have to manualy start it (rented server) for it to come back online.

second one;
people get killed by worldspawn.
but for some reason, it happens only sometimes, i know worldspawn has to do with the fact there are not enough spawn points, but sometimes we play theses maps and everything is ok, and sometimes not
(example: de_dam_final, cs_psychobilly, even happens sometimes in cs_italy)

before someasks;
my server is a CS 1.6 Steam server
amxmodX 0.16
using logmod, PingBooster
metamod v 1.17.1

can anyone help me ?
__________________
69.12.99.130 Quebec Public CS 1.6
64.15.128.218 Quebec Public CS:SOURCE
www.QuebecPublic.com
onedamage is offline
Send a message via ICQ to onedamage Send a message via MSN to onedamage
Dygear
SourceMod Donor
Join Date: Apr 2004
Location: Levittown, NY
Old 08-04-2004 , 03:40  
Reply With Quote #2

2nd
I beleave this is due to the swp points being to close to each other.
__________________
Dygear is offline
Send a message via AIM to Dygear Send a message via MSN to Dygear Send a message via Skype™ to Dygear
Dygear
SourceMod Donor
Join Date: Apr 2004
Location: Levittown, NY
Old 08-04-2004 , 03:52  
Reply With Quote #3

DO NOT RUN THIS ON YOUR GAME SERVER.
RUN THIS ONLY ON YOUR TEST SERVER.


Now a conversion of this plugin would be cool. *note* This plugin was given to me by the geat Ludwig van so I may learn from it and with permissions from lud I am giving it out so people may use it.

Code:
/*  Welcome to the EJL map checker. A simple plugin by Ludwig van to  check the following:  Number of player spawns, approximate balance of player spawns per team,  distances between player spawns, if there can be bullet trace paths  between spawn points for opposing teams.  To use: install the plugin on the server you use to test maps, start  the map. As soon as the map is done loading it is checked and instantly  dumps a file in your amx folder ... self explanatory.  Requirements : AMXMOD 0.9.3 and see #include's below. If you dont know  what that means, then you are not allowed to use this plugin. */ #include <amxmod> #include <amxmisc> #include <xtrafun> #include <Vexd_Utilities> #define MIN_DIST 128 #define MIN_SPAWNS 20 #define COVER_TOLLERANCE 100 new spawns[100][3] new spawnsteam[100] new counter = 1,last = 0,lastt = 0 new t1,t2 do_check(){     new ThisMap[32]     get_mapname(ThisMap, 31)     new filename[80],text[128]     format(filename,79,"addons/amx/SPAWNCHECK_OUTPUT_FOR_%s.txt",ThisMap)     if(file_exists(filename))         delete_file(filename)     write_file(filename,"Welcome to the EJL map checker. This plugin checks the following:",-1)     write_file(filename,"",-1)     write_file(filename," Number of player spawns, approximate balance of player spawns per team,",-1)     write_file(filename," distances between player spawns, if there can be bullet trace paths",-1)     write_file(filename," between spawn points for opposing teams.",-1)     write_file(filename,"",-1)     write_file(filename,"",-1)     format(text,127,"Now reading player spawns for ... %s",ThisMap)     write_file(filename,text,-1)     write_file(filename,"",-1)     new total = current_num_ents()     new Float:fl_vExplodeAt[3]     for(new pToucher=1;pToucher<total;pToucher++){        if( (FindEntity(pToucher, "info_player_start") >0) || (FindEntity(pToucher, "info_player_deathmatch") >0) ) {             new szClassName[500]             Entvars_Get_String(pToucher, EV_SZ_classname, szClassName, 499)             if(equal(szClassName, "info_player_deathmatch")) {                 Entvars_Get_Vector(pToucher, EV_VEC_origin, fl_vExplodeAt)                 spawns[counter][0] = floatround(fl_vExplodeAt[0])                 spawns[counter][1] = floatround(fl_vExplodeAt[1])                 spawns[counter][2] = floatround(fl_vExplodeAt[2])                 spawnsteam[counter] = 2                 format(text,127," Player Spawn #%d   Vec: %d %d %d   Team: %d",counter,spawns[counter][0],spawns[counter][1],spawns[counter][2],spawnsteam[counter])                 write_file(filename,text,-1)                 counter++                 last = pToucher+1                 lastt = 2                 t1++             }             else if(equal(szClassName, "info_player_start")) {                 Entvars_Get_Vector(pToucher, EV_VEC_origin, fl_vExplodeAt)                 spawns[counter][0] = floatround(fl_vExplodeAt[0])                 spawns[counter][1] = floatround(fl_vExplodeAt[1])                 spawns[counter][2] = floatround(fl_vExplodeAt[2])                 spawnsteam[counter] = 1                 format(text,127," Player Spawn #%d   Vec: %d %d %d   Team: %d",counter,spawns[counter][0],spawns[counter][1],spawns[counter][2],spawnsteam[counter])                 write_file(filename,text,-1)                 counter++                 last = pToucher+1                 lastt = 1                 t2++             }         }     }     Entvars_Get_Vector(last, EV_VEC_origin, fl_vExplodeAt)     spawns[counter][0] = floatround(fl_vExplodeAt[0])     spawns[counter][1] = floatround(fl_vExplodeAt[1])     spawns[counter][2] = floatround(fl_vExplodeAt[2])     spawnsteam[counter] = lastt     if(spawns[counter][0] || spawns[counter][1] || spawns[counter][2]){         format(text,127," Player Spawn #%d   Vec: %d %d %d   Team: %d",counter,spawns[counter][0],spawns[counter][1],spawns[counter][2],spawnsteam[counter])         write_file(filename,text,-1)     }     write_file(filename,"",-1)     write_file(filename,"",-1)     format(text,127,"Now calculating distances between player spawns for ... %s",ThisMap)     write_file(filename,text,-1)     write_file(filename,"",-1)        new dist,err_count,err[100]     for(new a = 1;a<counter+1;a++){         for(new b = 1;b<counter+1;b++){             if(a!=b){                 dist = get_distance(spawns[a],spawns[b])                 if(dist < MIN_DIST && !(err[a] && err[b]) ){                     err[a] = 1                     err[b] = 1                     err_count++                          format(text,127," ERROR: #%d  %d %d %d  and #%d  %d %d %d  are only %d units apart.",                     a,spawns[a][0],spawns[a][1],spawns[a][2],b,spawns[b][0],spawns[b][1],spawns[b][2],dist)                     write_file(filename,text,-1)                 }             }         }     }     write_file(filename,"",-1)     if(err_count){         format(text,127," Spawn points need to be at least %d units apart.",MIN_DIST)         write_file(filename,text,-1)         write_file(filename,"",-1)         format(text,127," %d spawn point proximity errors found for ... %s",err_count,ThisMap)         write_file(filename,text,-1)     }else{         format(text,127," NO spawn point proximity errors found for ... %s",ThisMap)         write_file(filename,text,-1)            }     write_file(filename,"",-1)     write_file(filename,"",-1)     if(counter < MIN_SPAWNS){         format(text,127,"Error: Not enough player spawns. Need at least %d, only found %d",MIN_SPAWNS,counter)          write_file(filename,text,-1)         write_file(filename,"",-1)         write_file(filename,"",-1)     }     if(t1 < (counter / 3) || t2 < (counter / 3) ){         format(text,127,"Error: Not balanced. Each team should have about the same amount of spawns")         write_file(filename,text,-1)         write_file(filename,"",-1)         write_file(filename,"",-1)     }     format(text,127,"Now calculating bullet paths between spawns for ... %s",ThisMap)     write_file(filename,text,-1)     write_file(filename,"",-1)     new err1[100],err_count1     new dist1,dist2     for(new a = 1;a<counter+1;a++){         for(new b = 1;b<counter+1;b++){             if(a!=b){                 new ent                 new Float:fl_infront[3]                 new Float:fl_spawnsa[3]                 new Float:fl_spawnsb[3]                 fl_spawnsa[0] = float(spawns[a][0])                 fl_spawnsa[1] = float(spawns[a][1])                 fl_spawnsa[2] = float(spawns[a][2])                 fl_spawnsb[0] = float(spawns[b][0])                 fl_spawnsb[1] = float(spawns[b][1])                 fl_spawnsb[2] = float(spawns[b][2])                 TraceLn(ent, fl_spawnsa, fl_spawnsb, fl_infront)                 dist1 = get_distance(spawns[a],spawns[b])                 new infront[3]                 infront[0] = floatround(fl_infront[0])                 infront[1] = floatround(fl_infront[1])                 infront[2] = floatround(fl_infront[2])                 dist2 = get_distance(spawns[a],infront)                 if( dist1 < dist2 +COVER_TOLLERANCE && !(err1[a] && err1[b]) && spawnsteam[a] != spawnsteam[b] ){                     err1[a] = 1                     err1[b] = 1                     err_count1++                                        format(text,127," ERROR: Spawn cover issue: #%d and #%d  on opposite teams see eachother",a,b)                     write_file(filename,text,-1)                 }             }         }     }     if(err_count1){         write_file(filename,"",-1)         format(text,127," %d or more spawn point cover issues found for ... %s",err_count1,ThisMap)         write_file(filename,text,-1)     }else{         format(text,127," NO spawn point cover issues found for ... %s",ThisMap)                write_file(filename,text,-1)     }     write_file(filename,"",-1)     write_file(filename,"",-1)      format(text,127,"Done checking ... %s",ThisMap)     write_file(filename,text,-1)        return PLUGIN_HANDLED } public plugin_init(){     register_plugin("CHECK MAP SPAWNS","0.1","EJL")     do_check()     return PLUGIN_CONTINUE }
__________________
Dygear is offline
Send a message via AIM to Dygear Send a message via MSN to Dygear Send a message via Skype™ to Dygear
onedamage
Senior Member
Join Date: Apr 2004
Location: Montreal Canada
Old 08-04-2004 , 08:26  
Reply With Quote #4

thx
i'm gonna check into this and let u know

appreciate the help.
__________________
69.12.99.130 Quebec Public CS 1.6
64.15.128.218 Quebec Public CS:SOURCE
www.QuebecPublic.com
onedamage is offline
Send a message via ICQ to onedamage Send a message via MSN to onedamage
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 22:16.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode