???
Математика на уровне МГУ

Страница 6 из 7 ПерваяПервая ... 234567 КрайняяКрайняя
Показано с 126 по 150 из 151

Тема: Оформление серверов Репка

  1. #126

    Re: Оформление серверов Репка

    Брат Андрей. Друг! Сделай,прошу, статистику, бо перцам, скучно. Корабли прилетели убили, лаунчер.,Корабли прилетели, убили-лаунчер. Однообразие. А с дуромером веселей как то.
    i5-2400,P8P67PRO, 8Gb, GeForce GTX 460, win7 64 sp1 direct 11

  2. #127
    Борец с силами Стима Аватар для BigREPA
    Регистрация
    22.04.2004
    Адрес
    Питер
    Возраст
    53
    Сообщений
    1,368
    Записей в дневнике
    2
    Images
    3

    Re: Оформление серверов Репка

    http://r1.repka.su/

    Ну, вот собственно...

    --- Добавлено ---

    Чтобы прикрутить стат, я так думаю java-файлы должны лежать все-таки вместе с самой миссией, как на Р2. Там вроде так же?
    Да
    Развожу репки и мейн-кунов
    Ищу человека территориально из Крымска, Новороссийска или Краснодара, с "приличным" интернетом, просьба "не пыльная", но очень нужно, буду благодарен.
    Стучать в личку, в мыло repka@inbox.ru или skype repka-78rus

  3. #128
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Оформление серверов Репка

    Красивый сайт!

    Красный брифинг мне иностранцы на человеческий язык перевели, а синий нет.

    A surprise counter-offensive against the Axis ground invasion codenamed 'Operation Sea Lion' has begun. Ground forces are now en-route to France to capture and secure strategic areas. If our ground forces succeed, this should force the Axis into re-calling their ships back to mainland France to counter the Britsh offensive.
    The role of the RAF is to protect and assist our ground forces. This includes ground forces that are en-route, those protecting strategic coastal locations (if under attack) and ground forces that have successfully landed in France.
    Do your best to help our ground forces take and secure enemy ground whilst protecting our own.
    The quantity of available Spitfire IIa and Bf-109E4 depends on the number of airfields we control. Fight hard to deny the enemy using superior aircraft.

    * Fighters, escort our ships to France and intercept enemy bombers attacking our ships at all costs!
    * Bombers, sink enemy ships approaching our coastal positions.
    Про ява файлы вроде бы в ридми ко 2й миссии stillborn написано, что чтобы на сайте работала сортировка и прочее, их на сайт заливать нужно. Но я давно читал, точно не помню.
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  4. #129

    Re: Оформление серверов Репка

    Цитата Сообщение от andersbravers Посмотреть сообщение
    Сбросил в личку. Чтобы прикрутить стат, я так думаю java-файлы должны лежать все-таки вместе с самой миссией, как на Р2. Там вроде так же?

    --- Добавлено ---


    Ща пока сайт собирал, буду помаленьку со статистикой разбираться. Но статистика будет как на Р2, если ты имеешь в виду, чтобы корабли считало, то не знаю пока как сделать, надо со Small_Bee помозговать.
    Все будет, сейчас по мере сил пишу небольшой враппер над миссией - т.е. вывести все операции в отдельный поток и событийную модель организовать - можно будет модульную систему сделать, что надо подключили, что не надо отключили. Статистику тоже подключить и т.д.

  5. #130
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Оформление серверов Репка

    Цитата Сообщение от andersbravers Посмотреть сообщение
    Спасибо, старался...
    Здорово выглядит, отличная работа!

  6. #131
    Борец с силами Стима Аватар для BigREPA
    Регистрация
    22.04.2004
    Адрес
    Питер
    Возраст
    53
    Сообщений
    1,368
    Записей в дневнике
    2
    Images
    3

    Re: Оформление серверов Репка

    Цитата Сообщение от -atas- Посмотреть сообщение
    Про ява файлы вроде бы в ридми ко 2й миссии stillborn написано, что чтобы на сайте работала сортировка и прочее, их на сайт заливать нужно. Но я давно читал, точно не помню.
    Заливал на Р2, но сортировка как не работала так и не работает...
    Развожу репки и мейн-кунов
    Ищу человека территориально из Крымска, Новороссийска или Краснодара, с "приличным" интернетом, просьба "не пыльная", но очень нужно, буду благодарен.
    Стучать в личку, в мыло repka@inbox.ru или skype repka-78rus

  7. #132
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Оформление серверов Репка

    Цитата Сообщение от BigREPA Посмотреть сообщение
    Заливал на Р2, но сортировка как не работала так и не работает...
    Может, еще style.css надо?

    //Upload sorttable.js and Style.css to the same location on your site manually, created htm depends on them to be viewed properly
    Или sorttable.js не должна сортировать на сайте, а только 1 раз сортирует при создании страницы? Кто у нас яву читает?

    sorttable.js:
    Код:
    /*
      SortTable
      version 2
      7th April 2007
      Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/
      
      Instructions:
      Download this file
      Add <script src="sorttable.js"></script> to your HTML
      Add class="sortable" to any table you'd like to make sortable
      Click on the headers to sort
      
      Thanks to many, many people for contributions and suggestions.
      Licenced as X11: http://www.kryogenix.org/code/browser/licence.html
      This basically means: do what you want with it.
    */
    
     
    var stIsIE = /*@cc_on!@*/false;
    
    sorttable = {
      init: function() {
        // quit if this function has already been called
        if (arguments.callee.done) return;
        // flag this function so we don't do the same thing twice
        arguments.callee.done = true;
        // kill the timer
        if (_timer) clearInterval(_timer);
        
        if (!document.createElement || !document.getElementsByTagName) return;
        
        sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/;
        
        forEach(document.getElementsByTagName('table'), function(table) {
          if (table.className.search(/\bsortable\b/) != -1) {
            sorttable.makeSortable(table);
          }
        });
        
      },
      
      makeSortable: function(table) {
        if (table.getElementsByTagName('thead').length == 0) {
          // table doesn't have a tHead. Since it should have, create one and
          // put the first table row in it.
          the = document.createElement('thead');
          the.appendChild(table.rows[0]);
          table.insertBefore(the,table.firstChild);
        }
        // Safari doesn't support table.tHead, sigh
        if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0];
        
        if (table.tHead.rows.length != 1) return; // can't cope with two header rows
        
        // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as
        // "total" rows, for example). This is B&R, since what you're supposed
        // to do is put them in a tfoot. So, if there are sortbottom rows,
        // for backwards compatibility, move them to tfoot (creating it if needed).
        sortbottomrows = [];
        for (var i=0; i<table.rows.length; i++) {
          if (table.rows[i].className.search(/\bsortbottom\b/) != -1) {
            sortbottomrows[sortbottomrows.length] = table.rows[i];
          }
        }
        if (sortbottomrows) {
          if (table.tFoot == null) {
            // table doesn't have a tfoot. Create one.
            tfo = document.createElement('tfoot');
            table.appendChild(tfo);
          }
          for (var i=0; i<sortbottomrows.length; i++) {
            tfo.appendChild(sortbottomrows[i]);
          }
          delete sortbottomrows;
        }
        
        // work through each column and calculate its type
        headrow = table.tHead.rows[0].cells;
        for (var i=0; i<headrow.length; i++) {
          // manually override the type with a sorttable_type attribute
          if (!headrow[i].className.match(/\bsorttable_nosort\b/)) { // skip this col
            mtch = headrow[i].className.match(/\bsorttable_([a-z0-9]+)\b/);
            if (mtch) { override = mtch[1]; }
              if (mtch && typeof sorttable["sort_"+override] == 'function') {
                headrow[i].sorttable_sortfunction = sorttable["sort_"+override];
              } else {
                headrow[i].sorttable_sortfunction = sorttable.guessType(table,i);
              }
              // make it clickable to sort
              headrow[i].sorttable_columnindex = i;
              headrow[i].sorttable_tbody = table.tBodies[0];
              dean_addEvent(headrow[i],"click", function(e) {
    
              if (this.className.search(/\bsorttable_sorted\b/) != -1) {
                // if we're already sorted by this column, just 
                // reverse the table, which is quicker
                sorttable.reverse(this.sorttable_tbody);
                this.className = this.className.replace('sorttable_sorted',
                                                        'sorttable_sorted_reverse');
                this.removeChild(document.getElementById('sorttable_sortfwdind'));
                sortrevind = document.createElement('span');
                sortrevind.id = "sorttable_sortrevind";
                sortrevind.innerHTML = stIsIE ? '&nbsp<font face="webdings">5</font>' : '&nbsp;&#x25B4;';
                this.appendChild(sortrevind);
                return;
              }
              if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) {
                // if we're already sorted by this column in reverse, just 
                // re-reverse the table, which is quicker
                sorttable.reverse(this.sorttable_tbody);
                this.className = this.className.replace('sorttable_sorted_reverse',
                                                        'sorttable_sorted');
                this.removeChild(document.getElementById('sorttable_sortrevind'));
                sortfwdind = document.createElement('span');
                sortfwdind.id = "sorttable_sortfwdind";
                sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
                this.appendChild(sortfwdind);
                return;
              }
              
              // remove sorttable_sorted classes
              theadrow = this.parentNode;
              forEach(theadrow.childNodes, function(cell) {
                if (cell.nodeType == 1) { // an element
                  cell.className = cell.className.replace('sorttable_sorted_reverse','');
                  cell.className = cell.className.replace('sorttable_sorted','');
                }
              });
              sortfwdind = document.getElementById('sorttable_sortfwdind');
              if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); }
              sortrevind = document.getElementById('sorttable_sortrevind');
              if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); }
              
              this.className += ' sorttable_sorted';
              sortfwdind = document.createElement('span');
              sortfwdind.id = "sorttable_sortfwdind";
              sortfwdind.innerHTML = stIsIE ? '&nbsp<font face="webdings">6</font>' : '&nbsp;&#x25BE;';
              this.appendChild(sortfwdind);
    
                // build an array to sort. This is a Schwartzian transform thing,
                // i.e., we "decorate" each row with the actual sort key,
                // sort based on the sort keys, and then put the rows back in order
                // which is a lot faster because you only do getInnerText once per row
                row_array = [];
                col = this.sorttable_columnindex;
                rows = this.sorttable_tbody.rows;
                for (var j=0; j<rows.length; j++) {
                  row_array[row_array.length] = [sorttable.getInnerText(rows[j].cells[col]), rows[j]];
                }
                /* If you want a stable sort, uncomment the following line */
                //sorttable.shaker_sort(row_array, this.sorttable_sortfunction);
                /* and comment out this one */
                row_array.sort(this.sorttable_sortfunction);
                
                tb = this.sorttable_tbody;
                for (var j=0; j<row_array.length; j++) {
                  tb.appendChild(row_array[j][1]);
                }
                
                delete row_array;
              });
            }
        }
      },
      
      guessType: function(table, column) {
        // guess the type of a column based on its first non-blank row
        sortfn = sorttable.sort_alpha;
        for (var i=0; i<table.tBodies[0].rows.length; i++) {
          text = sorttable.getInnerText(table.tBodies[0].rows[i].cells[column]);
          if (text != '') {
            if (text.match(/^-?[Ј$¤]?[\d,.]+%?$/)) {
              return sorttable.sort_numeric;
            }
            // check for a date: dd/mm/yyyy or dd/mm/yy 
            // can have / or . or - as separator
            // can be mm/dd as well
            possdate = text.match(sorttable.DATE_RE)
            if (possdate) {
              // looks like a date
              first = parseInt(possdate[1]);
              second = parseInt(possdate[2]);
              if (first > 12) {
                // definitely dd/mm
                return sorttable.sort_ddmm;
              } else if (second > 12) {
                return sorttable.sort_mmdd;
              } else {
                // looks like a date, but we can't tell which, so assume
                // that it's dd/mm (English imperialism!) and keep looking
                sortfn = sorttable.sort_ddmm;
              }
            }
          }
        }
        return sortfn;
      },
      
      getInnerText: function(node) {
        // gets the text we want to use for sorting for a cell.
        // strips leading and trailing whitespace.
        // this is *not* a generic getInnerText function; it's special to sorttable.
        // for example, you can override the cell text with a customkey attribute.
        // it also gets .value for <input> fields.
        
        hasInputs = (typeof node.getElementsByTagName == 'function') &&
                     node.getElementsByTagName('input').length;
        
        if (node.getAttribute("sorttable_customkey") != null) {
          return node.getAttribute("sorttable_customkey");
        }
        else if (typeof node.textContent != 'undefined' && !hasInputs) {
          return node.textContent.replace(/^\s+|\s+$/g, '');
        }
        else if (typeof node.innerText != 'undefined' && !hasInputs) {
          return node.innerText.replace(/^\s+|\s+$/g, '');
        }
        else if (typeof node.text != 'undefined' && !hasInputs) {
          return node.text.replace(/^\s+|\s+$/g, '');
        }
        else {
          switch (node.nodeType) {
            case 3:
              if (node.nodeName.toLowerCase() == 'input') {
                return node.value.replace(/^\s+|\s+$/g, '');
              }
            case 4:
              return node.nodeValue.replace(/^\s+|\s+$/g, '');
              break;
            case 1:
            case 11:
              var innerText = '';
              for (var i = 0; i < node.childNodes.length; i++) {
                innerText += sorttable.getInnerText(node.childNodes[i]);
              }
              return innerText.replace(/^\s+|\s+$/g, '');
              break;
            default:
              return '';
          }
        }
      },
      
      reverse: function(tbody) {
        // reverse the rows in a tbody
        newrows = [];
        for (var i=0; i<tbody.rows.length; i++) {
          newrows[newrows.length] = tbody.rows[i];
        }
        for (var i=newrows.length-1; i>=0; i--) {
           tbody.appendChild(newrows[i]);
        }
        delete newrows;
      },
      
      /* sort functions
         each sort function takes two parameters, a and b
         you are comparing a[0] and b[0] */
      sort_numeric: function(a,b) {
        aa = parseFloat(a[0].replace(/[^0-9.-]/g,''));
        if (isNaN(aa)) aa = 0;
        bb = parseFloat(b[0].replace(/[^0-9.-]/g,'')); 
        if (isNaN(bb)) bb = 0;
        return aa-bb;
      },
      sort_alpha: function(a,b) {
        if (a[0]==b[0]) return 0;
        if (a[0]<b[0]) return -1;
        return 1;
      },
      sort_ddmm: function(a,b) {
        mtch = a[0].match(sorttable.DATE_RE);
        y = mtch[3]; m = mtch[2]; d = mtch[1];
        if (m.length == 1) m = '0'+m;
        if (d.length == 1) d = '0'+d;
        dt1 = y+m+d;
        mtch = b[0].match(sorttable.DATE_RE);
        y = mtch[3]; m = mtch[2]; d = mtch[1];
        if (m.length == 1) m = '0'+m;
        if (d.length == 1) d = '0'+d;
        dt2 = y+m+d;
        if (dt1==dt2) return 0;
        if (dt1<dt2) return -1;
        return 1;
      },
      sort_mmdd: function(a,b) {
        mtch = a[0].match(sorttable.DATE_RE);
        y = mtch[3]; d = mtch[2]; m = mtch[1];
        if (m.length == 1) m = '0'+m;
        if (d.length == 1) d = '0'+d;
        dt1 = y+m+d;
        mtch = b[0].match(sorttable.DATE_RE);
        y = mtch[3]; d = mtch[2]; m = mtch[1];
        if (m.length == 1) m = '0'+m;
        if (d.length == 1) d = '0'+d;
        dt2 = y+m+d;
        if (dt1==dt2) return 0;
        if (dt1<dt2) return -1;
        return 1;
      },
      
      shaker_sort: function(list, comp_func) {
        // A stable sort function to allow multi-level sorting of data
        // see: http://en.wikipedia.org/wiki/Cocktail_sort
        // thanks to Joseph Nahmias
        var b = 0;
        var t = list.length - 1;
        var swap = true;
    
        while(swap) {
            swap = false;
            for(var i = b; i < t; ++i) {
                if ( comp_func(list[i], list[i+1]) > 0 ) {
                    var q = list[i]; list[i] = list[i+1]; list[i+1] = q;
                    swap = true;
                }
            } // for
            t--;
    
            if (!swap) break;
    
            for(var i = t; i > b; --i) {
                if ( comp_func(list[i], list[i-1]) < 0 ) {
                    var q = list[i]; list[i] = list[i-1]; list[i-1] = q;
                    swap = true;
                }
            } // for
            b++;
    
        } // while(swap)
      }  
    }
    
    /* ******************************************************************
       Supporting functions: bundled here to avoid depending on a library
       ****************************************************************** */
    
    // Dean Edwards/Matthias Miller/John Resig
    
    /* for Mozilla/Opera9 */
    if (document.addEventListener) {
        document.addEventListener("DOMContentLoaded", sorttable.init, false);
    }
    
    /* for Internet Explorer */
    /*@cc_on @*/
    /*@if (@_win32)
        document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
        var script = document.getElementById("__ie_onload");
        script.onreadystatechange = function() {
            if (this.readyState == "complete") {
                sorttable.init(); // call the onload handler
            }
        };
    /*@end @*/
    
    /* for Safari */
    if (/WebKit/i.test(navigator.userAgent)) { // sniff
        var _timer = setInterval(function() {
            if (/loaded|complete/.test(document.readyState)) {
                sorttable.init(); // call the onload handler
            }
        }, 10);
    }
    
    /* for other browsers */
    window.onload = sorttable.init;
    
    // written by Dean Edwards, 2005
    // with input from Tino Zijdel, Matthias Miller, Diego Perini
    
    // http://dean.edwards.name/weblog/2005/10/add-event/
    
    function dean_addEvent(element, type, handler) {
        if (element.addEventListener) {
            element.addEventListener(type, handler, false);
        } else {
            // assign each event handler a unique ID
            if (!handler.$$guid) handler.$$guid = dean_addEvent.guid++;
            // create a hash table of event types for the element
            if (!element.events) element.events = {};
            // create a hash table of event handlers for each element/event pair
            var handlers = element.events[type];
            if (!handlers) {
                handlers = element.events[type] = {};
                // store the existing event handler (if there is one)
                if (element["on" + type]) {
                    handlers[0] = element["on" + type];
                }
            }
            // store the event handler in the hash table
            handlers[handler.$$guid] = handler;
            // assign a global event handler to do all the work
            element["on" + type] = handleEvent;
        }
    };
    // a counter used to create unique IDs
    dean_addEvent.guid = 1;
    
    function removeEvent(element, type, handler) {
        if (element.removeEventListener) {
            element.removeEventListener(type, handler, false);
        } else {
            // delete the event handler from the hash table
            if (element.events && element.events[type]) {
                delete element.events[type][handler.$$guid];
            }
        }
    };
    
    function handleEvent(event) {
        var returnValue = true;
        // grab the event object (IE uses a global event object)
        event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event);
        // get a reference to the hash table of event handlers
        var handlers = this.events[event.type];
        // execute each event handler
        for (var i in handlers) {
            this.$$handleEvent = handlers[i];
            if (this.$$handleEvent(event) === false) {
                returnValue = false;
            }
        }
        return returnValue;
    };
    
    function fixEvent(event) {
        // add W3C standard event methods
        event.preventDefault = fixEvent.preventDefault;
        event.stopPropagation = fixEvent.stopPropagation;
        return event;
    };
    fixEvent.preventDefault = function() {
        this.returnValue = false;
    };
    fixEvent.stopPropagation = function() {
      this.cancelBubble = true;
    }
    
    // Dean's forEach: http://dean.edwards.name/base/forEach.js
    /*
        forEach, version 1.0
        Copyright 2006, Dean Edwards
        License: http://www.opensource.org/licenses/mit-license.php
    */
    
    // array-like enumeration
    if (!Array.forEach) { // mozilla already supports this
        Array.forEach = function(array, block, context) {
            for (var i = 0; i < array.length; i++) {
                block.call(context, array[i], i, array);
            }
        };
    }
    
    // generic enumeration
    Function.prototype.forEach = function(object, block, context) {
        for (var key in object) {
            if (typeof this.prototype[key] == "undefined") {
                block.call(context, object[key], key, object);
            }
        }
    };
    
    // character enumeration
    String.forEach = function(string, block, context) {
        Array.forEach(string.split(""), function(chr, index) {
            block.call(context, chr, index, string);
        });
    };
    
    // globally resolve forEach enumeration
    var forEach = function(object, block, context) {
        if (object) {
            var resolve = Object; // default
            if (object instanceof Function) {
                // functions have a "length" property
                resolve = Function;
            } else if (object.forEach instanceof Function) {
                // the object implements a custom forEach method so use that
                object.forEach(block, context);
                return;
            } else if (typeof object == "string") {
                // the object is a string
                resolve = String;
            } else if (typeof object.length == "number") {
                // the object is array-like
                resolve = Array;
            }
            resolve.forEach(object, block, context);
        }
    };
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  8. #133
    Борец с силами Стима Аватар для BigREPA
    Регистрация
    22.04.2004
    Адрес
    Питер
    Возраст
    53
    Сообщений
    1,368
    Записей в дневнике
    2
    Images
    3

    Re: Оформление серверов Репка

    Может, еще style.css надо?
    заливал все, сортировка НИКОГДА не работала.
    Развожу репки и мейн-кунов
    Ищу человека территориально из Крымска, Новороссийска или Краснодара, с "приличным" интернетом, просьба "не пыльная", но очень нужно, буду благодарен.
    Стучать в личку, в мыло repka@inbox.ru или skype repka-78rus

  9. #134
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Оформление серверов Репка

    В брифинге адрес сайта не забудьте написать )

  10. #135
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Оформление серверов Репка

    Цитата Сообщение от andersbravers Посмотреть сообщение
    А зачем? Если человек итак уже на сайте?
    В брифинге миссии )

  11. #136
    Борец с силами Стима Аватар для BigREPA
    Регистрация
    22.04.2004
    Адрес
    Питер
    Возраст
    53
    Сообщений
    1,368
    Записей в дневнике
    2
    Images
    3

    Re: Оформление серверов Репка

    Цитата Сообщение от andersbravers Посмотреть сообщение
    Без сортировки стат не должен работать по идее, как же на Р2 все это время он работал?
    http://r2.repka.su/ "работает" до сих пор.
    Развожу репки и мейн-кунов
    Ищу человека территориально из Крымска, Новороссийска или Краснодара, с "приличным" интернетом, просьба "не пыльная", но очень нужно, буду благодарен.
    Стучать в личку, в мыло repka@inbox.ru или skype repka-78rus

  12. #137
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Оформление серверов Репка

    Цитата Сообщение от andersbravers Посмотреть сообщение
    Обновил аглицкий брифинг, синий доделал сам (страны махнул местами).
    Синий текст выложи плиз, закину на сервер. И русский заодно (только без переносов строки).
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  13. #138
    Борец с силами Стима Аватар для BigREPA
    Регистрация
    22.04.2004
    Адрес
    Питер
    Возраст
    53
    Сообщений
    1,368
    Записей в дневнике
    2
    Images
    3

    Re: Оформление серверов Репка

    Лимитер поднят на всех хостах
    24000 байт/с, мах пинг 300, 5 предупреждений через 5 сек... потом катапульта
    Суточные перезагрузки в 9-00 и 17-30 с шагом 10 мин (Р1... Р2... Р3)

    --- Добавлено ---

    Из интересного
    Пока ковырялся, запустил случайно сервер Боба без стим-клиента... и он запустился.
    Развожу репки и мейн-кунов
    Ищу человека территориально из Крымска, Новороссийска или Краснодара, с "приличным" интернетом, просьба "не пыльная", но очень нужно, буду благодарен.
    Стучать в личку, в мыло repka@inbox.ru или skype repka-78rus

  14. #139
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Оформление серверов Репка

    Цитата Сообщение от BigREPA Посмотреть сообщение
    Пока ковырялся, запустил случайно сервер Боба без стим-клиента... и он запустился.
    Я вчера стим забыл запустить перед выделенным, не прокатило, выдал ошибку. Наверное он тебе доверился

  15. #140
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Оформление серверов Репка

    Цитата Сообщение от BigREPA Посмотреть сообщение
    Суточные перезагрузки в 9-00 и 17-30 с шагом 10 мин (Р1... Р2... Р3)
    10 минут, это жестко имхо: люди только зайдут с Р1 на Р2 и тут же выкинет, потом с Р2 на Р3 повторится. Лучше с интервалом в 60 минут - дать час полетать хотя бы. Как раз в 19.30 с Р3 на Р1 всех замотивируем

    Желательно статистику по кикам посмотреть: кого за пинг кикает, а кого за ширину канала и сколько в процентном отношении. Я за пингами наблюдал, до 400 кратковременно у многих прыгает, иногда и выше. Особенно после захода на сервер, потом устаканивается на 200. Как бы нам всех подряд не покикать. 25 секунд на стабилизацию пинга - это маловато имхо.

    Лимит канала какой настройке клиента соответствует? ISDN, xDSL или LAN?

    Про превышение лимита канала предупреждения есть? Сколько времени дается на перенастройку в меню? Какую скорость советуем устанавливать в клиенте? Нельзя кикать не предупредив и не дав время на перенастройку.

    Я бы кикал только тех, у кого стабильно на протяжении 3-5 минут пинг в рамки не влезает. Они со временем просто перестанут на Р заходить и все устаканится.
    Крайний раз редактировалось -atas-; 26.10.2011 в 13:58.
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  16. #141

    Re: Оформление серверов Репка

    Цитата Сообщение от -atas- Посмотреть сообщение
    10 минут, это жестко имхо: люди только зайдут с Р1 на Р2 и тут же выкинет, потом с Р2 на Р3 повторится. Лучше с интервалом в 60 минут - дать час полетать хотя бы. Как раз в 19.30 с Р3 на Р1 всех замотивируем

    Желательно статистику по кикам посмотреть: кого за пинг кикает, а кого за ширину канала и сколько в процентном отношении. Я за пингами наблюдал, до 400 кратковременно у многих прыгает, иногда и выше. Особенно после захода на сервер, потом устаканивается на 200. Как бы нам всех подряд не покикать. 25 секунд на стабилизацию пинга - это маловато имхо.

    Лимит канала какой настройке клиента соответствует? ISDN, xDSL или LAN?

    Про превышение лимита канала предупреждения есть? Сколько времени дается на перенастройку в меню? Какую скорость советуем устанавливать в клиенте? Нельзя кикать не предупредив и не дав время на перенастройку.

    Я бы кикал только тех, у кого стабильно на протяжении 3-5 минут пинг в рамки не влезает. Они со временем просто перестанут на Р заходить и все устаканится.
    За ширину канала не кикает, а просто обрезает ее принудительно сразу же после захода игрока на сервер. Сервер такую возможность предоставляет.

  17. #142
    Борец с силами Стима Аватар для BigREPA
    Регистрация
    22.04.2004
    Адрес
    Питер
    Возраст
    53
    Сообщений
    1,368
    Записей в дневнике
    2
    Images
    3

    Re: Оформление серверов Репка

    Цитата Сообщение от -atas- Посмотреть сообщение
    10 минут, это жестко имхо: люди только зайдут с Р1 на Р2 и тут же выкинет, потом с Р2 на Р3 повторится. Лучше с интервалом в 60 минут - дать час полетать хотя бы. Как раз в 19.30 с Р3 на Р1 всех замотивируем

    Желательно статистику по кикам посмотреть: кого за пинг кикает, а кого за ширину канала и сколько в процентном отношении. Я за пингами наблюдал, до 400 кратковременно у многих прыгает, иногда и выше. Особенно после захода на сервер, потом устаканивается на 200. Как бы нам всех подряд не покикать. 25 секунд на стабилизацию пинга - это маловато имхо.

    Лимит канала какой настройке клиента соответствует? ISDN, xDSL или LAN?

    Про превышение лимита канала предупреждения есть? Сколько времени дается на перенастройку в меню? Какую скорость советуем устанавливать в клиенте? Нельзя кикать не предупредив и не дав время на перенастройку.

    Я бы кикал только тех, у кого стабильно на протяжении 3-5 минут пинг в рамки не влезает. Они со временем просто перестанут на Р заходить и все устаканится.
    Ок, шаг поменяю на 1 час
    Кикать должно только за пинг, вся прелесть Лимитера, что пополам, какая ширина на клиенте, раз 5сек он опрашивает и изменяет сам.
    Какой соответствует хз... надо поменять в игре и заглянуть в conf.ini на клиенте, но 24000 не стандартное значение... стандартное 20000. Лан, знаю - 100000.
    Буду внимательно следить за пингами и если что отрихтую.

  18. #143
    hehehe 111 Аватар для podvoxx
    Регистрация
    25.08.2008
    Адрес
    Барнаул - Питер
    Возраст
    41
    Сообщений
    4,245

    Re: Оформление серверов Репка

    Цитата Сообщение от BigREPA Посмотреть сообщение
    Ок, шаг поменяю на 1 час
    Кикать должно только за пинг, вся прелесть Лимитера, что пополам, какая ширина на клиенте, раз 5сек он опрашивает и изменяет сам.
    Какой соответствует хз... надо поменять в игре и заглянуть в conf.ini на клиенте, но 24000 не стандартное значение... стандартное 20000. Лан, знаю - 100000.
    Буду внимательно следить за пингами и если что отрихтую.
    У меня xDsl стоит, в конфиге вроде это было 25000

  19. #144
    Борец с силами Стима Аватар для BigREPA
    Регистрация
    22.04.2004
    Адрес
    Питер
    Возраст
    53
    Сообщений
    1,368
    Записей в дневнике
    2
    Images
    3

    Re: Оформление серверов Репка

    Прямо сейчас на Р1 летает пилот
    7: _RAAF_Magpie ping: 392ms timeout: 0,018/131s speed: 10000b/s

    В окне лимитера счетчик предупреждений -0
    наблюдал около 5 минут - его не кикнуло...

  20. #145
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Оформление серверов Репка

    Цитата Сообщение от podvoxx Посмотреть сообщение
    У меня xDsl стоит, в конфиге вроде это было 25000
    Да, проверил 25000. Тогда ограничивая до 24000 мы дополнительных лагов не создадим?

    ISDN кстати 10000. По моим ощущениям его не всегда хватало.
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  21. #146
    Борец с силами Стима Аватар для BigREPA
    Регистрация
    22.04.2004
    Адрес
    Питер
    Возраст
    53
    Сообщений
    1,368
    Записей в дневнике
    2
    Images
    3

    Re: Оформление серверов Репка

    Цитата Сообщение от -atas- Посмотреть сообщение
    Да, проверил 25000. Тогда ограничивая до 24000 мы дополнительных лагов не создадим?

    ISDN кстати 10000. По моим ощущениям его не всегда хватало.
    Заменю на 32000, там посмотрим

  22. #147
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Оформление серверов Репка

    @ andersbravers

    Это мои старые брифинги. Выложи то, что на сайте.
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  23. #148
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Оформление серверов Репка

    Поправил немного по смыслу синий:

    BLUE BRIEFING.

    Our offensive codenamed 'Operation Sea Lion' has begun. Ground forces are now en-route to England to capture and secure strategic areas.
    If our ground forces succeed, this should force the Allies to surrender.

    The role of the Luftwaffe is to protect and assist our ground forces. This includes ground forces that are en-route, those protecting strategic coastal locations (if under attack) and ground forces that have successfully landed in England. Do your best to help our ground forces take and secure enemy ground whilst protecting our own.

    The quantity of available Spitfire IIa and Bf-109E4 depends on the number of airfields we control. Fight hard to deny the enemy using superior aircraft.

    * Fighters, escort our ships to England and intercept enemy bombers attacking our ships at all costs!
    * Bombers, clear enemy defenses and sink enemy ships approaching our coastal positions in case the Allies launch a counter-offensive.

    ---------------------------------------
    The mission uses a resource management system. Destroy enemy supply chain to stop their attack. Eliminating bigger supply ships stops landing barges operations. Destroying landing barges slows ground units advancement.
    Play smart and have fun!

    http://r1.repka.su/index_en.htm
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  24. #149
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Оформление серверов Репка

    Цитата Сообщение от andersbravers Посмотреть сообщение
    Я уж по ссылке подумал, что ты уже на самом сайте исправил, ан нет . Отлично, давай еще красный.
    Красный мне изначально англичанин правил (вроде).

    Залил твой русский вариант в миссию.

    Скрытый текст:
    [Army Red]
    <Name>
    Army Red
    <Description>
    Мы переходим в контрнаступление, с целью подорвать операцию Оси "Морской лев". Цель: высадить наши сухопутные войска во Франции, чтобы побудить войска Оси повернуть обратно. Любой ценой необходимо помочь нашим наземным войскам захватить вражескую территорию и защитить нашу родину.

    В результате захвата аэродромов мы можем получить новый Spitfire IIa, но и враг, захватывая наши аэродромы, получает в награду Bf-109E4. Не дайте врагу получить более современные самолеты!

    * Истребители: сопровождайте бомбардировщики во Францию и перехватывайте любой ценой вражеские бомбардировщики, идущие на наши суда!
    * Бомбардировщики: топите вражеские танкеры на пути к нашим берегам!

    ---------------------------------------
    В миссии используется система управления ресурсами. Главная задача - прервать снабжение вражеских войск, и тем самым остановить их продвижение. Прежде всего необходимо уничтожать танкеры, т.к. с них баржами на берег сгружается бронетанковая техника. В свою очередь уничтожение барж останавливает высадку десанта.
    Счастливого полета!

    [Army Blue]
    <Name>
    Army Blue
    <Description>
    Господа, примите наши поздравления! Долгожданная операция "Морской Лев" наконец началась! Мы должны высадить наши наземные войска в Великобритании и вынудить союзников сдаться. Приложите особые усилия, чтобы помочь нашим наземным войскам, которые высадятся на вражеской земле и защищайте наши берега.

    Согласно разведданным враг начал контрнаступление, чтобы сорвать нашу высадку, но мы этого ждали и хорошо подготовились.

    В результате захвата аэродромов мы можем получить новый Bf-109E4, но и враг, захватывая наши аэродромы, получает в награду Spitfire IIa. Не дайте врагу получить более современные самолеты!

    * Истребители: сопровождайте бомбардировщики в Великобританию и перехватывайте любой ценой вражеские бомбардировщики, идущие на наши суда!
    * Бомбардировщики: уничтожте оборонительные укрепления и топите вражеские танкеры на пути к нашим берегам.

    ---------------------------------------
    В миссии используется система управления ресурсами. Главная задача - прервать снабжение вражеских войск, и тем самым остановить их продвижение. Прежде всего необходимо уничтожать танкеры, т.к. с них баржами на берег сгружается бронетанковая техника. В свою очередь уничтожение барж останавливает высадку десанта.
    Счастливого полета!
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  25. #150
    списанный с флота Аватар для Schalker
    Регистрация
    05.06.2006
    Адрес
    Germany
    Возраст
    60
    Сообщений
    360
    Записей в дневнике
    3
    Images
    1

    Re: Оформление серверов Репка

    Цитата Сообщение от andersbravers Посмотреть сообщение
    Отлично! Там же теперь агличанам - аглицкий брифинг, русским - русский, насколько я понимаю?
    .
    а немцам , незнающий английский, какой ?

Страница 6 из 7 ПерваяПервая ... 234567 КрайняяКрайняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •